文件上传的过程:
文件上传的表单项
文件上传之PHP的处理
文件上传之参数配置
文件上传的案例应用--文件上传类
文件上传的过程
文件上传的表单项
Document用户名:
头像:
文件上传的过程:
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”
Document用户名:
头像:
Array
(
[pic] => Array// pic 表单的文件域的name值
(
[name] => 20130718104452.jpg//文件原始名
[type] => p_w_picpath/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
临时文件什么时间消失?
临时文件在接受处理文件运行完毕后,临时文件就立即消失了
问题:
图片如何分目录存储,如按日期建立目录?
如何重新命名文件,防止同名,随机+获取文件后缀?
如何限制文件上传大小?