日期:2014-05-17  浏览次数:20591 次

thinkphp检查上传文件时是否已存在
 

    /**
     +----------------------
     * 检查上传文件的目录里是否已存在同名的上传文件
     +----------------------
     * @static
     * @access public
     +----------------------
     * @param string $path 文件目录路径
     * @param string $file 文件名(包括扩展名)
     +----------------------
     * @return 返回yes表示文件存在,no表示文件不存在
     +----------------------
     */
  public function searchFile($path,$file){
  $file_array=array(); //存放文件名数组
  $folder_array=array(); //存放目录名数组
  $all_array=array(); //存放全部路径的数组

  if(is_dir($path)){  //检查文件目录是否存在
   $H = @ opendir($path);
   while(false !== ($_file=readdir($H))){
    //检索目录
    if(is_dir($path."/".$_file) && $_file != "." && $_file!=".." && $_file!=="Thumbs.db"){
     if(eregi('/'.$file,'/'.$_file)){
      array_push($this->folder_array,$path."/".$_file);
     }
     $this->searchFile($path."/".$_file,$file);
    //检索文件
    }elseif(is_file($path."/".$_file) && $_file!="." && $_file!=".." && $_file!=="Thumbs.db"){
     //$_file = auto_charset($_file,'utf-8','gbk');
     if(eregi('/'.$file,'/'.$_file)){
      array_push($this->file_array,$path."/".$_file);
      return 'yes'; //文件存在
     }
    }
   }
   //$this->all_array["folder"]=$this->folder_array;
   //$this->all_array["file"]=$this->file_array;
   closedir($H);
   return 'no'; //不存在
  }elseif(is_file($path)){
   if(eregi($file,$path)){
    //$this->all_array["file"]=$path;
    return 'yes'; //文件存在
   } else {
    return 'no'; //文件不存在
   }
  }else{
   return 'no'; //文件不存在
  }
 }

?