当前位置:首页 > PHP教程 > php上传下载 > 列表

php实现将文件上传到临时目录

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-03 08:35:14 浏览: 评论:0 

通过<form>表单实现,将文件上传到一个临时目录,上传的过程不需要我们管,只需将文件移动到我们期望的目录即可。

具体方法如下:

1、修改PHP配置文件

file_uploads//服务器上的PHP脚本是否可以接受HTTP文件上传

memory_limit//设置脚本可以分配的最大内存量,防止失控脚本独占服务器内存

upload_max_filesize//限制PHP处理上传文件的最大值,此值必须小于post_max_size值

post_max_size//限制通过POST方法可以接受的信息最大量

upload_tmp_dir //上传文件存放的临时路径,可以是绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。

注意:修改完配置文件后重新启动服务器。

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()    //文件上传后先存储于服务器的临时目录中,使用该函数移动文件位置

示例:

  1. <?php 
  2.  
  3.     header('Content-type:text/html;charset=utf-8'); 
  4.  
  5.     //判断客户端是否有提交动作 
  6.  
  7.     if(isset($_POST['submit'])){ 
  8.  
  9.         //判断文件是否通过HTTP POST上传的 
  10.  
  11.         if(is_uploaded_file($_FILES['myfile']['tmp_name'])){ 
  12.  
  13.             //用于服务器端显示客户端上传文件的后缀名.返回值是一个数组 
  14.  
  15.             $arr=pathinfo($_FILES['myfile']['name']); 
  16.  
  17.             //以年 月 日的格式命名客户端上传的文件名并随机产生一个数,避免名字相同 
  18.  
  19.             $newName=date('YmdGis').rand(1000,99999); 
  20.  
  21.             if(move_uploaded_file($_FILES['myfile']['tmp_name'],"C:/123/{$newName}.{$arr['extension']}")){ 
  22.  
  23.                 echo '成功'; 
  24.  
  25.             }else{ 
  26.  
  27.                 echo '失败'; 
  28.  
  29.             } 
  30.  
  31.         }else{ 
  32.  
  33.             exit('....'); 
  34.  
  35.         } 
  36.  
  37.     } 
  38.  
  39.     var_dump($_FILES); 
  40.  
  41. ?> 
  42.  
  43. <DOCTYPE html> 
  44.  
  45. <html> 
  46.  
  47. <head> 
  48.  
  49. <meta charset="utf-8"> 
  50.  
  51. <title>文件上传</title> 
  52.  
  53. </head> 
  54.  
  55. <body> 
  56.  
  57.     <form method="post" action="" enctype="multipart/form-data"> 
  58.  
  59.     <input type="file" name="myfile"/> 
  60.  
  61.     <input type="submit" name="submit" value="开始上传"/> 
  62.  
  63.     </form> 
  64.  
  65. </body> 
  66. </html> 

结果如图:

php实现将文件上传到临时目录

Tags: php文件上传到临时目录

分享到: