具体方法如下:
1、修改php配置文件
file_uploads//服务器上的php脚本是否可以接受http文件上传 memory_limit//设置脚本可以分配的最大内存量,防止失控脚本独占服务器内存 upload_max_filesize//限制php处理上传文件的最大值,此值必须小于post_max_size值 post_max_size//限制通过post方法可以接受的信息最大量 upload_tmp_dir //上传文件存放的临时路径,可以是绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。
注意:修改完配置文件后重新启动服务器。
(相关学习视频分享:php视频教程)
2、$_files多维数组,用于存储各种与上传有关的信息
$_files[‘file’][‘name’] //客户端上传的文件原名称,含扩展名$_files[‘file’][‘size’] //已上传文件的大小,单位为字节$_files[‘file][‘tmp_name’] //文件上传后,在服务器端存储的临时文件名$_files[‘file][‘error’] //文件上传时产生的错误 0:文件上传成功 1:上传文件的大小超出了在php配置文件中upload_max_filesize选项限制的值 2:上传文件大小超出了html表单中max_file_size选项指定的值 3:文件只被部分上传 4:没有上传任何文件$_files[‘file’][‘type’] //上传文件的类型,每种mime类型由‘/’分隔主类型和子类型组成
3、php文件上传处理函数
is_uploaded_file()//判断指定的文件是否通过http post上传的move_uploaded_file()//文件上传后先存储于服务器的临时目录中,使用该函数移动文件位置
示例:
<?php header('content-type:text/html;charset=utf-8'); //判断客户端是否有提交动作 if(isset($_post['submit'])){ //判断文件是否通过http post上传的 if(is_uploaded_file($_files['myfile']['tmp_name'])){ //用于服务器端显示客户端上传文件的后缀名.返回值是一个数组 $arr=pathinfo($_files['myfile']['name']); //以年 月 日的格式命名客户端上传的文件名并随机产生一个数,避免名字相同 $newname=date('ymdgis').rand(1000,99999); if(move_uploaded_file($_files['myfile']['tmp_name'],"c:/123/{$newname}.{$arr['extension']}")){ echo '成功'; }else{ echo '失败'; } }else{ exit('....'); } } var_dump($_files);?><doctype html><html><head><meta charset="utf-8"><title>文件上传</title></head><body> <form method="post" action="" enctype="multipart/form-data"> <input type="file" name="myfile"/> <input type="submit" name="submit" value="开始上传"/> </form></body></html>
结果如图:
相关文章教程推荐:php教程
以上就是php实现将文件上传到临时目录的详细内容。
