`

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'; //文件不存在
  }
 }

 

分享到:
评论

相关推荐

    ThinkPHP文件上传配置

    autoSub参数用于设置是否使用子目录保存上传文件,默认为false。 subType参数用于设置子目录创建方式,默认为hash,可以设置为hash或date。 dateFormat参数用于设置子目录方式为date的时候指定日期格式。 ...

    thinkPHP删除单个文件

    当需要删除一个已上传的文件时,我们首先需要获取到文件的实际存储路径。这通常通过在上传过程中保存的文件信息(如保存路径和文件名)来完成。 物理删除单个文件: 1. **获取文件路径**:在ThinkPHP中,文件路径...

    thinkphp3.2.3上传多张图片+上传完预览

    // 上传文件 if(!$info) { // 上传失败 echo $upload->getError(); } else { // 上传成功 foreach($info as $file) { // 可以做其他处理,如保存到数据库等 echo '文件名:'.$file['savename'].' '; } }...

    thinkphp文件上传

    5. **安全性考虑**:为了提高安全性,你应该对上传的文件进行检查,避免恶意文件的上传,如病毒、木马。此外,避免使用原始文件名,可以生成随机文件名或者使用时间戳来确保唯一性。 总结来说,ThinkPHP的文件上传...

    基于 thinkphp的一个 批量上传并 csv文件导入数据

    本文将详细讲解如何利用ThinkPHP框架实现CSV文件的批量上传及数据导入到数据库的操作。 首先,我们需要了解ThinkPHP的基本概念。ThinkPHP是中国的一个开源PHP框架,它遵循Apache2开源协议发布,旨在简化Web应用开发...

    thinkphp6文件写入漏洞

    通常,当一个应用允许用户上传文件或动态生成文件时,如果没有正确地限制文件类型、路径以及文件名,就可能导致这个问题。例如,ThinkPHP6在处理文件上传或写入时,如果使用了不安全的函数(如file_put_contents)且...

    文件批量上传 tp+layui

    标题“文件批量上传 tp+layui”表明我们要讨论的是一个基于ThinkPHP(简称tp)框架和Layui前端组件库实现的文件批量上传功能。Layui是一个轻量级的前端框架,提供了丰富的UI组件,而ThinkPHP则是一个流行的PHP开发...

    thinkphp多图片上传.zip

    2. **多图片上传**:在ThinkPHP中,多图片上传通常涉及到`$_FILES`全局变量的处理,这是一个数组,包含了所有上传文件的信息。开发者需要对每个文件进行循环处理,检查文件大小、类型、是否上传成功等,并将文件移动...

    thinkphp表单上传文件并将文件路径保存到数据库中

    在开发过程中,上传文件并将文件路径保存到数据库是常见的需求,尤其在处理图像、文档等文件时。本文将详细介绍如何在ThinkPHP框架下实现表单文件上传,并将文件路径保存到数据库中。 首先,我们需要创建一个数据库...

    ThinkPHP文件上传实例教程

    视图模板文件`index.html`展示了已上传文件的小图和大图。`<volist>`标签循环遍历文件列表,使用`__PUBLIC__/upload/`作为公共路径访问缩略图(s_前缀)和原始图(无前缀)。此外,模板中包含一个表单用于提交文件...

    thinkphp5 多图片上传

    - **文件类型检查**:严格检查上传文件的类型,只允许特定类型的图片上传,防止恶意文件上传。 通过以上步骤和注意事项,我们可以成功地在ThinkPHP5框架下利用Plupload实现多图片上传、修改和删除功能,提供用户...

    基于thinkPHP的文件上传+layui实现头像上传功能:

    通过`$_FILES`全局变量获取上传文件的信息,然后使用ThinkPHP的`move_uploaded_file`函数将文件移动到服务器上的指定目录。 3. **数据库操作**:如果需要保存头像信息到数据库,我们需要定义一个模型来操作用户表。...

    thinkphp+swfupload上传多张图片

    - 设置上传参数:如允许的文件类型、最大上传文件大小、队列大小等。 - 配置按钮样式和行为,使用户能够通过点击按钮触发文件选择对话框。 - 使用Flash与JavaScript的通信,确保在文件选择后能够正确触发上传事件...

    ThinkPHP+swfupload多图上传

    - 为了防止恶意文件上传,需要对上传文件进行严格的检查,如验证文件扩展名、检查文件内容等。 - 对上传文件进行重命名,避免覆盖已有文件或被恶意利用。 - 使用合适的权限设置保护上传文件,防止直接访问。 6. ...

    ThinkPHP+ajaxupload.js上传图片

    在IT行业中,开发Web应用程序时,常常需要处理用户上传文件的功能,尤其是图片。"ThinkPHP+ajaxupload.js上传图片"这个主题就是关于如何在ThinkPHP框架下,利用ajaxupload.js这个JavaScript库实现异步图片上传的技术...

    php 大文件分块上传源码,thinkphp,larvavel

    在IT行业中,大文件上传是一项常见的需求,尤其是在处理如视频、图像或大型数据文件时。在PHP环境中,由于默认的文件上传限制,处理大文件可能会遇到挑战。标题提到的"php 大文件分块上传源码,thinkphp,laravel...

    thinkphp3.2.3+富头像上传编辑器

    为了更好地理解这个项目,你需要检查这些文件,特别是控制器和视图文件,它们将揭示如何与用户交互以及如何处理上传的图片。 需要注意的是,由于描述中提到这是作者自己研究的结果,代码可能不完全符合最佳实践,...

    php文件上传插件(简洁好用的上传插件)

    - **文件重命名**:通常建议重命名上传的文件,以防止文件名冲突或恶意覆盖已存在的文件。 4. **扩展应用** - **图片处理**:可以结合GD库或Imagick扩展进行图片的缩放、裁剪等操作。 - **云存储服务**:若要将...

    thinkphp图片批量上传nextUpFile

    在处理文件上传时,ThinkPHP提供了一系列内置的辅助函数和类库,使得上传操作变得简单易行。 批量上传图片涉及到以下几个核心步骤: 1. **前端处理**:用户选择多张图片后,前端需要将这些文件打包成一个数组,...

    thinkphp上传错误解决方法

    - `upload_max_filesize`:设置最大上传文件大小。 - `post_max_size`:设置通过POST方式上传的数据的最大大小。 - `max_execution_time`:设置脚本的最大执行时间。 3. **验证上传逻辑**:检查上传逻辑是否存在...

Global site tag (gtag.js) - Google Analytics