PHP开发中文件的上传与下载

在PHP中想要实现文件的上传功能其实很简单。。下面我们就来先介绍一下要用的知识点,最后再给出源码。

要让Web服务器具有上传功能,得在配置文件php.ini中设置允许文件上传。配置文件php.ini对文件上传的选项如下表所示。

文件上传配置选项表
选项 默认值 说明
file_uploads 1(默认开启) 是否开启文件上传
upload_tmp_dir null(系统临时目录) 上传文件的临时存储目录
upload_max_filesize                 2M 允许上传文件大小的最大值

当然,上传功能默认是开启的,也可以根据自己的需要去php.ini更改设置。

接下来,简要说明下文件上传的步骤:

1.文件的上传首先通过HTML表单中的file控件将文件上传至php.ini中upload_tmp_dir指定的临时目录。

2.然后由PHP函数move_uploaded_file将上传的文件从临时文件移动到服务器指定目录。


OK,源码奉上,不懂得地方可看注释:

upload.html

  
 
选择上传文件:

要注意的是必须指定表单的enctype属性为“multipart/form-data”才可上传文件。

uploadhandle.php

  
 
上传\n ";
		break;
	case UPLOAD_ERR_PARTIAL:
		$err_msg = "文件上传不完全,请重新上传\n ";
		break;
	case UPLOAD_ERR_NO_FILE:
		$err_msg = "没有选择文件,请重新上传\n ";
		break;
	case UPLOAD_ERR_FORM_SIZE:
		$err_msg = "文件超过页面最大上传限制";
		break;
	case UPLOAD_ERR_CANT_WRITE:
		$err_msg = "文件写入失败,请重新上传\n";
		break;
	case UPLOAD_ERR_NO_TMP_DIR:
		$err_msg = "没有临时文件夹,请重新上传\n";
		break;
	case UPLOAD_ERR_OK:
		break;
	default:
		$err_msg = "未知错误,请重新上传\n";
	
}
//规定上传的文件的种类,如果没有上传规定的种类则给予错误信息
if(!in_array($fileImg['type'], array('image/jpeg','image/pjpeg','image/png'))){
	$err_msg = "只允许上传.png或.jpg的图片。请重新上传
"; } //如果上传的文件没有出错,则将该文件从临时文件夹转移到给定的文件夹(这里将图片保存到是当前目录下的source文件夹里) if(!$err_msg){ if(!move_uploaded_file($fileImg['tmp_name'], $dir."source/".$fileImg['name'])){ $err_msg = "移动文件失败。请重新上传
"; } } //如果以上步骤有出现错误,则输出错误信息,否则显示出刚上传的图片 if($err_msg){ echo $err_msg; } else{ echo "上传的文件"; echo "上传成功!"; }


至于文件的下载嘛,那就更简单了*>_<*

对于文件的下载,只需给出要下载文件的所在位置即可

download.php

".$filen."
"; } } //关闭目录 closedir($dirHandle);





你可能感兴趣的:(PHP应用与实践,PHP,upload)