使用$_FILES获取上传文件信息 (PHP)

在PHP中,文件上传功能的实现步骤:
(1)在网页中上传表单,单击“上传”按钮后,选择的文件数据将发送到服务器。
(2)用$_FILES获取上传文件有关的各种信息。
(3)用文件上传处理函数对上传文件进行后续处理。

说明:
(1)如果表单中有文件上传域,则定义表单时必须设置enctype="multipart/form-data",且必须为POST方式发送。
(2)限制文件大小可在表单中添加一个隐藏域,该隐藏域必须放在文件上传域之前,否则会设置失效。

若文件上传域的name属性值为upfile,则可以使用$_FILES['upfile']访问文件的有关信息。
相关信息:
$_FILES['upfile']['name']; //客户端上传文件的原名称,不包含路径
$_FILES['upfile']['type']; //上传文件的MIME类型  
$_FILES['upfile']['tmp_name']; //已上传文件在服务器端保存的临时文件名,包含路径
$_FILES['upfile']['error']; //上传文件出现的错误号,为一个整数
$_FILES['upfile']['size']; //已上传文件的大小,单位为字节

说明:若同时上传多个文件,则上传域的name属性值应为upfile[],此时$_FILES变成三维数组,保存第一个文件名的数组元素是$_FILES['upfile']['name'][0]。
 
保存上传文件到指定目录

move_uploaded_file(文件原来的路径和文件名,文件的目的路径和文件名);

功能说明:
(1)将上传的文件移动到网站指定目录内,并为它重命名。
(2)检查并确保由第一个参数指定的文件是合法的上传文件(即通过HTTP POST上传机制所上传),这对于网站安全是至关重要的。

代码演示


请选择要上传的文件



'; } else{ $upload_dir=getcwd()."\\pic\\"; //getcwd()获取当前脚本目录 if(!is_dir($upload_dir)) //如果目录不存在,则创建 mkdir($upload_dir); function makefilename(){ //根据上传时间生成上传文件名 $current=getdate(); $filename=$current['year'].$current['mon'].$current['mday'].$current['hours'].$current['minutes'].$current['seconds'].".jpg"; return $filename; } $newfilname=makefilename(); $newfile=$upload_dir.$newfilname; if(file_exists($_FILES['upfile']['tmp_name'])){ move_uploaded_file($_FILES['upfile']['tmp_name'],$newfile); echo "上传的文件信息:
"; echo "客户端文件名:".$_FILES['upfile']['name']."
"; echo "文件类型:".$_FILES['upfile']['type']."
"; echo "字节大小:".$_FILES['upfile']['size']."
"; echo "上传后文件名:".$newfilname."
"; //显示路径输出$newfile echo "文件上传成功".'继续上传'; } else{ echo "上传失败,错误类型".$_FILES['upfile']['error']; } } ?>

运行截图:

使用$_FILES获取上传文件信息 (PHP)_第1张图片

使用$_FILES获取上传文件信息 (PHP)_第2张图片

 

你可能感兴趣的:(php)