文件上传的过程:
文件上传的表单项
文件上传之PHP的处理
文件上传之参数配置
文件上传的案例应用--文件上传类
文件上传的过程
文件上传的表单项
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> </head> <body> <form action="07.php"> 用户名: <input type="text" name="username"/><br/> 头像:<input type="file" name="pic"/><br/> <input type="submit" value="提交"/> </form> </body> </html> |
文件上传的过程:
1.文件提交后,文件自动发到服务器上,形成一个临时文件
2.在服务器上,只需要把临时文件移动到自己想要的位置,就完成了文件上传的操作
临时文件的位置:
文件的其他信息如文件名,文件大小等又在哪里?
答:PHP形成临时文件,还会形成一个$_FILES超全局数组,数组保存着文件的临时地址,
临时名称,大小等信息,所以想上传,得先读取$_FILES
http://localhost/execise/20140403/06.html?username=RR&pic=20130724083350.jpg
注意:
文件上传必须使用POST方式上传,没有声明method,默认是GET
http://localhost/execise/20140403/07.php
获取的还是空数组
注意:
需要通知服务器传输的二进制文件信息,设置enctype为”multipart/form-data”
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> </head> <body> <form action="07.php" method="POST" enctype="multipart/form-data"> 用户名: <input type="text" name="username"/><br/> 头像:<input type="file" name="pic"/><br/> <input type="submit" value="提交"/> </form> </body> </html> |
Array
(
[pic] => Array // pic 表单的文件域的name值
(
[name] => 20130718104452.jpg //文件原始名
[type] => image/jpeg //文件类型
[tmp_name] => C:\wamp\tmp\php587F.tmp // 临时文件名
[error] => 0 // 出错代码,0 没有出错
[size] => 48220 // 文件大小,以字节为单位
)
)
如何移动上传后的文件?
答:使用move_upload_file()函数
在 07.php
if (move_uploaded_file($_FILES[‘pic‘][‘tmp_name‘], ‘./file/‘.$_FILES[‘pic‘][‘name‘])) { echo "成功"; }else{ echo "失败"; } |
在配置文件中:
;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ;是否允许文件上传 ; Whether to allow HTTP file uploads. file_uploads = On ;临时文件路径 ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). upload_tmp_dir = "c:/wamp/tmp" ;上传文件,单个文件的最大值 ; Maximum allowed size for uploaded files. upload_max_filesize = 2M ;一个表单最多提交的文件数目 ; Maximum number of files that can ben upload . max_file_uploads = 20 |
临时文件什么时间消失?
临时文件在接受处理文件运行完毕后,临时文件就立即消失了
问题:
图片如何分目录存储,如按日期建立目录?
如何重新命名文件,防止同名,随机+获取文件后缀?
如何限制文件上传大小?
本文出自 “杜国栋个人PHP学习博文” 博客,请务必保留此出处http://duguodong.blog.51cto.com/7667978/1390168
时间:2014年4月3日21:25:28 文件上传过程,布布扣,bubuko.com
原文:http://duguodong.blog.51cto.com/7667978/1390168