您的位置:首页 > 其它

文件上传

2015-09-03 20:05 316 查看
文件用表单提交后,自动发送到服务器上,形成一个临时文件,需要移到指定的存储位置,临时文件的地址存放在$_FILES全局数组中,这个全局数组还保存着临时名称,大小等信息

1,文件上传必须用post提交数据

2,必须声明enctype选项,写在form标签中,enctype='multipart/form-data';

3,移动临时文件用move_uploaded_file()函数

4,接收页面执行完毕,临时文件消失

提交表单

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action='file.php' method='post' enctype='multipart/form-data'>
用户名:<input type='text' name='name'><br/>
图片:<input type='file' name='pic' ><br/>
<input type='submit' value='提交'>
</form>
</body>
</html>


接收页面

<?php
print_r($_POST);
print_r($_FILES);
/*
Array
(
[pic] => Array
(
[name] => 设计图.png
[type] => image/png
[tmp_name] => D:\wamp\tmp\phpD0F7.tmp
[error] => 0
[size] => 18085
)

)
*/
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='abcdefghijklmnopqrstuvwxyz0123654789';
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 '上传成功';
}else{
echo '失败';
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: