php 文件上传

目录

1 php.ini 配置文件的修改

2.系统返回码详解

错误级别

4.上传简单示例 

5.php代码简单优化


1 php.ini 配置文件的修改

配置项 说明
file_uploads
on 为 开启文件上传功能, off 为关闭
post_max_size
系统允许的 POST 传参的最大值 ,默认 8M
upload_max_filesize
系统允许的上传文件的最大值 ,默认 2M
menory_limit
内存使用限制 ,默认 256M

 可以根据自己的需求进行修改

2.系统返回码详解

错误码 说明
0 无误,可以继续进行文件上传的后续操作
1 超出上传文件的最大限制,
upload_max_filesize = 100M php.ini 中设置,一般默认为
100M 。可根据项目中的实际需要来修改
2 超出了指定文件大小,根据项目目的业务需求指定上传文件的大小限制
3 只有部分的文件被上传
4 文件没有被上传
6 找不到临时文件夹,可能目录不存在或没权限
7 文件写入失败,可能磁盘满了或没有权限

错误级别

错误类型 说明
E_ERROE
警告,问题比较严重。但是还会继续向下运行
E_NOTICE
提示,有些小问题不会影响到程序。常发生在项目未定义
E_PARSE
编译时语法解析错误。解析错误仅仅由分析器产生。
E_ALL
所有的错误
E_STRICT
启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。
E_DEPRECATED
启用后将会对在未来版本中可能无法正常工作的代码给出警告。
error   最严重,必须要解决。不然程序无法继续向下执行
warning  也很重要。但也必须要解决。如果明确的、故意的可以不用处理。
notice 可以不用管。但是在高标准要求的项目中也必须要解决。因为notice会影响到PHP的
            执行效率。通常发生在函数未定义等。
parse  错误,是指语法错写错了,必须要解决,代表全部类型的所有错误。

4.上传简单示例 

前端代码



	
	
	
		
		文件上传
	
		
欢迎来到上传文件系统
请选择文件: 点击上传:

php代码

5.php代码简单优化

解决上传文件名为中文乱码情况。 对上传类型进行限制

 500000){
		echo "文件太大,请重新选择".'
'; exit; } //对上传文件类型进行限制,如一些常用图片格式 $types = array('image/jpeg','image/png','image/gif'); if(!in_array($f['type'], $types)) { echo "只支持上传jpeg/png/gif格式的文件".'
'; exit; } //查看上传返回码,0代表成功 $error_code = $f['error']; if($error_code != 0) { echo "上传失败".'
'; exit; } $t = time(); //获取时间戳 $name = $f['name'];//获取上传的文件名 $new_name = iconv('utf-8','gbk',$name);//对文件名进行编码 //判断文件是否已上传,把时间戳去掉 if(file_exists($a.'\\uploads\\'.$new_name)){ echo '文件已存在'; exit; } //因为上传的文件会作为临时文件,路径在tmp_name, //所以需要进行移动到我们需要上传到的文件夹下 move_uploaded_file($f['tmp_name'], $a.'\\uploads\\'.$t.$new_name);//移动后,以时间戳重命名 echo "上传成功".'
'; ?>

你可能感兴趣的:(php,php,开发语言)