PHP文件上传
文件上传? 通过<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 header('Content-type:text/html;charset=utf-8'); 3 //判断客户端是否有提交动作 4 if(isset($_POST['submit'])){ 5 判断文件是否通过HTTP POST上传的 6 is_uploaded_file($_FILES['myfile']['tmp_name' 7 用于服务器端显示客户端上传文件的后缀名.返回值是一个数组 8 $arr=pathinfo($_FILES['myfile']['name']); 9 以年 月 日的格式命名客户端上传的文件名并随机产生一个数,避免名字相同 10 $newName=date('YmdGis').rand(1000,9999911 move_uploaded_file($_FILES['myfile']['tmp_name'],"C:/123/{$newName}.{$arr['extension']}")){ 12 echo '成功'; 13 }else{ 14 echo '失败'15 } 16 }17 exit('....'18 } 19 } 20 var_dump($_FILES21 ?> 22 <DOCTYPE html> 23 <html lang="en"> 24 <head> 25 <meta charset="utf-8"> 26 <title>文件上传</title> 27 </head> 28 <body> 29 <form method="post" action="" enctype="multipart/form-data"> 30 <input type="file" name="myfile"/> 31 <input type="submit" name="submit" value="开始上传"/> 32 </form> 33 </body> 34 </html> ?? ? ? ? ? ?? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |