/**
+----------------------------------------------------------
* 检查上传文件的目录里是否已存在同名的上传文件
+----------------------------------------------------------
* @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'; //文件不存在
}
}
分享到:
相关推荐
autoSub参数用于设置是否使用子目录保存上传文件,默认为false。 subType参数用于设置子目录创建方式,默认为hash,可以设置为hash或date。 dateFormat参数用于设置子目录方式为date的时候指定日期格式。 ...
当需要删除一个已上传的文件时,我们首先需要获取到文件的实际存储路径。这通常通过在上传过程中保存的文件信息(如保存路径和文件名)来完成。 物理删除单个文件: 1. **获取文件路径**:在ThinkPHP中,文件路径...
// 上传文件 if(!$info) { // 上传失败 echo $upload->getError(); } else { // 上传成功 foreach($info as $file) { // 可以做其他处理,如保存到数据库等 echo '文件名:'.$file['savename'].' '; } }...
5. **安全性考虑**:为了提高安全性,你应该对上传的文件进行检查,避免恶意文件的上传,如病毒、木马。此外,避免使用原始文件名,可以生成随机文件名或者使用时间戳来确保唯一性。 总结来说,ThinkPHP的文件上传...
本文将详细讲解如何利用ThinkPHP框架实现CSV文件的批量上传及数据导入到数据库的操作。 首先,我们需要了解ThinkPHP的基本概念。ThinkPHP是中国的一个开源PHP框架,它遵循Apache2开源协议发布,旨在简化Web应用开发...
通常,当一个应用允许用户上传文件或动态生成文件时,如果没有正确地限制文件类型、路径以及文件名,就可能导致这个问题。例如,ThinkPHP6在处理文件上传或写入时,如果使用了不安全的函数(如file_put_contents)且...
标题“文件批量上传 tp+layui”表明我们要讨论的是一个基于ThinkPHP(简称tp)框架和Layui前端组件库实现的文件批量上传功能。Layui是一个轻量级的前端框架,提供了丰富的UI组件,而ThinkPHP则是一个流行的PHP开发...
2. **多图片上传**:在ThinkPHP中,多图片上传通常涉及到`$_FILES`全局变量的处理,这是一个数组,包含了所有上传文件的信息。开发者需要对每个文件进行循环处理,检查文件大小、类型、是否上传成功等,并将文件移动...
在开发过程中,上传文件并将文件路径保存到数据库是常见的需求,尤其在处理图像、文档等文件时。本文将详细介绍如何在ThinkPHP框架下实现表单文件上传,并将文件路径保存到数据库中。 首先,我们需要创建一个数据库...
视图模板文件`index.html`展示了已上传文件的小图和大图。`<volist>`标签循环遍历文件列表,使用`__PUBLIC__/upload/`作为公共路径访问缩略图(s_前缀)和原始图(无前缀)。此外,模板中包含一个表单用于提交文件...
- **文件类型检查**:严格检查上传文件的类型,只允许特定类型的图片上传,防止恶意文件上传。 通过以上步骤和注意事项,我们可以成功地在ThinkPHP5框架下利用Plupload实现多图片上传、修改和删除功能,提供用户...
通过`$_FILES`全局变量获取上传文件的信息,然后使用ThinkPHP的`move_uploaded_file`函数将文件移动到服务器上的指定目录。 3. **数据库操作**:如果需要保存头像信息到数据库,我们需要定义一个模型来操作用户表。...
- 设置上传参数:如允许的文件类型、最大上传文件大小、队列大小等。 - 配置按钮样式和行为,使用户能够通过点击按钮触发文件选择对话框。 - 使用Flash与JavaScript的通信,确保在文件选择后能够正确触发上传事件...
- 为了防止恶意文件上传,需要对上传文件进行严格的检查,如验证文件扩展名、检查文件内容等。 - 对上传文件进行重命名,避免覆盖已有文件或被恶意利用。 - 使用合适的权限设置保护上传文件,防止直接访问。 6. ...
在IT行业中,开发Web应用程序时,常常需要处理用户上传文件的功能,尤其是图片。"ThinkPHP+ajaxupload.js上传图片"这个主题就是关于如何在ThinkPHP框架下,利用ajaxupload.js这个JavaScript库实现异步图片上传的技术...
在IT行业中,大文件上传是一项常见的需求,尤其是在处理如视频、图像或大型数据文件时。在PHP环境中,由于默认的文件上传限制,处理大文件可能会遇到挑战。标题提到的"php 大文件分块上传源码,thinkphp,laravel...
为了更好地理解这个项目,你需要检查这些文件,特别是控制器和视图文件,它们将揭示如何与用户交互以及如何处理上传的图片。 需要注意的是,由于描述中提到这是作者自己研究的结果,代码可能不完全符合最佳实践,...
- **文件重命名**:通常建议重命名上传的文件,以防止文件名冲突或恶意覆盖已存在的文件。 4. **扩展应用** - **图片处理**:可以结合GD库或Imagick扩展进行图片的缩放、裁剪等操作。 - **云存储服务**:若要将...
在处理文件上传时,ThinkPHP提供了一系列内置的辅助函数和类库,使得上传操作变得简单易行。 批量上传图片涉及到以下几个核心步骤: 1. **前端处理**:用户选择多张图片后,前端需要将这些文件打包成一个数组,...
- `upload_max_filesize`:设置最大上传文件大小。 - `post_max_size`:设置通过POST方式上传的数据的最大大小。 - `max_execution_time`:设置脚本的最大执行时间。 3. **验证上传逻辑**:检查上传逻辑是否存在...