能力值:
( LV2,RANK:10 )
|
-
-
2 楼
PHP文件上传的过程:
1:提交后,文件自动发到服务器上,形成一个临时文件
2:在服务器上,只需要把临时文件移动到
自己想要的位置就可以完成上传操作
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
PHP形成临时文件后,还会形成一个$_FILES超级全局数组
数组里保存着文件的临时地址,临时名称,大小,等信息.
所以 想上传文件,得先读$_FILES
文件上传的注意事项
1:必须POST提交
2:要声明 enctype选项
3:如何移动上传后的临时文件呢?
答:用move_uploaded_file()函数
4:这个临时文件什么时间消失?
答:临时文件在接收的.php文件结束后,就立即消失了.
比如:02.php负责接收,当02.php运行完毕,临时文件就消失.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
简单上传:HTML <form action="05.php" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username" value="张三" /><br />
头像:<input type="file" name="pic" value="XXX" /><br />
<input type="submit" value="提交" />
</form>
php部分: <?php
/***
接收文件,并分目录存储,生成随机文件名
1:根据时间戳,并按一定规则创建目录
2:获取文件后缀名
3:判断大小
***/
/*
计算并创建目录
*/
function mk_dir() {
$dir = date('md/i',time());
if(is_dir('./' . $dir)) {
return $dir;
} else {
mkdir('./' . $dir,0777,true);
return $dir;
}
}
function getExt($file) {
$tmp = explode('.',$file);
return end($tmp);
}
function randName() {
$str = 'abcdefghijkmnpqrstuvwxzy23456789';
return substr(str_shuffle($str),0,6);
}
if($_FILES['pic']['error'] !=0) {
echo '上传失败';
exit;
}
// 处理上传过程
$pic = $_FILES['pic']; //
// 拼接文件路径
$path = './' . mk_dir() . '/' . randName() . '.' . getExt($pic['name']);
// 移动
if(move_uploaded_file($pic['tmp_name'],$path)) {
echo 'OK';
} else {
echo 'FAIL';
}
,细节部分没做处理,只是一个实例而已,大神莫喷哈
|
能力值:
( LV15,RANK:520 )
|
-
-
5 楼
谢谢楼上大神讲解这么详细.
|
|
|