php轻松实现文件上传功能,本文分为五个部分针对php上传文件进行分析讲解,具体内容如下
文件上传变量 将服务器上的临时文件移动到指定目录下 php.ini上传相关配置 error错误号 单文件上传实例1.文件上传变量
//$_files:文件上传变量 #name 文件的名称 #type 文件的类型 #tmp_name 临时文件名 #size 文件的大小 #error 错误信息$filename = $_files[myfile][name];$type = $_files[myfile][type];$tmp_name = $_files[myfile][tmp_name];$size = $_files[myfile][size];$error = $_files[myfile][error];
2.将服务器上的临时文件移动到指定目录下
//1.move_uploaded_file($tmp_name,$destination):将服务器上的临时文件移动到指定目录下 #上传后文件名字,移动成功返回true,否则返回falsemove_uploaded_file($tmp_name,d:/.$filename);//2.copy($tmp_name,$destination)copy($tmp_name,d:/.$filename);
3.php.ini上传相关配置
# file_uploads=on 支持http上传 # upload_tmp_dir= 临时文件保存的目录 # upload_max_filesize=2m 允许上传文件的最大值 # max_file_uploads=20 允许一次上传的最大文件数 # post_max_size=8m post方式发送数据的最大值 # max_execution_time = 1 设置了脚本被解析器终止之前允许的最大执行时间,单位为秒,防止程序写的不好而占尽服务器资源 # max_input_time = 60 脚本解析输入数据允许的最大时间,单位为秒 # max_input_nesting_level = 64 设置输入变量的嵌套深度 # max_input_vars = 1000 接受多少输入的变量 # memory_limit = 128m 最大单线程的独立内存使用量
4.error错误号
# 0,没有错误发生,文件上传成功。 # 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 # 2,上传文件的大小超过了 html 表单中 max_file_size 选项指定的值。 # 3,文件只有部分被上传。 # 4,没有文件被上传。 # 6,找不到临时文件夹。 # 7,文件写入失败。 # 8,上传的文件被php扩展程序中断
5.单文件上传实例
form.html
document 请选择你要上传的文件:
fileupload.php
header(content-type:text/html;charset:utf-8);$fileinfo = $_files[myfile];$filename = $fileinfo[name];$type = $fileinfo[type];$error = $fileinfo[error];$size = $fileinfo[size];$tmp_name = $fileinfo[tmp_name];$maxsize=2*1024*1024;//允许的最大值$allowext=array(jpeg,jpg,gif);$flag = true;//检测是否为真实的图片类型//判断错误号if($error == 0){ //判断上传文件的大小 if($size>$maxsize){ exit(上传文件过大); } //检测文件类型 //取出文件扩展名 $ext = pathinfo($filename,pathinfo_extension); if(!in_array($ext,$allowext)){ exit(非法文件类型); } //检测是否为真实的图片类型 if($flag){ if(@!getimagesize($tmp_name)){ exit(不是正的图片类型); } } //创建目录 $path = d:/test/; if(!file_exists($path)){ mkdir($path,0777,true); chmod($path,0777); } //确保文件名唯一,防止重名覆盖 $uniname = md5(uniqid(microtime(true),true))...$ext; $destination = $path.$uniname; if(@move_uploaded_file($tmp_name,$destination)){ echo 上传成功; }else{ echo 上传失败; }}else{ switch($error){ case 1: case 2: case 3: case 4: case 6: case 7: case 8: echo 上传错误; break; }}
希望本文所述对大家学习php程序设计有所帮助。
您可能感兴趣的文章:php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)php 图片文件上传实现代码php 文件上传类代码php 文件上传实例代码thinkphp文件上传实例教程php实现视频文件上传完整实例使用php和html5 formdata实现无刷新文件上传教程thinkphp结合ajaxfileuploader实现无刷新文件上传的方法thinkphp多文件上传实现方法一个经典的php文件上传类分享
http://www.bkjia.com/phpjc/1106130.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1106130.htmltecharticlephp轻松实现文件上传功能, 本文分为五个部分针对php上传文件进行分析讲解,具体内容如下 文件上传变量 将服务器上的临时文件移动到指...