提交文件的HTML页面:
html>
文件上传用户名:
头像:
PHP接收文件:
/*
PHP文件上传的过程:
1:提交后,文件自动发到服务器上,形成一个临时文件
2:在服务器上,只需要把临时文件移动到自己想要的位置,就可以完成上传操作
疑问: 临时文件在哪儿呢?
文件的其他信息如 文件名,文件大小,等,又在哪儿呢?
答: PHP形成临时文件后,还会形成一个$_FILES超级全局数组
数组里保存着文件的临时地址,临时名称,大小,等信息.
所以 想上传文件,得先读$_FILES
*/
/*
文件上传的注意事项
1:必须POST提交
2:要声明 enctype选项
*/
echo "
";
print_r($_FILES);
echo "
";/*
3:如何移动上传后的临时文件呢?
答:用move_uploaded_file()函数
*/
/*
4:这个临时文件什么时间消失?
答:临时文件在接收的.php文件结束后,就立即消失了.
比如:02.php负责接收,当02.php运行完毕,临时文件就消失.
sleep(5); //睡5秒钟,便于观察临时文件
if(move_uploaded_file($_FILES['pic']['tmp_name'],'./file/' . $_FILES['pic']['name'])) {
echo '成功';
} else {
echo '失败';
}
*/
3、thinkphp接收
public function swfupload() {
if (IS_POST) {
//上传处理类
$config=array(
'rootPath' => './'.C("UPLOADPATH"),//文件上传保存的根路径
'savePath' => '',//文件上传的保存路径(相对于根路径)
'maxSize' => 11048576,//文件上传的最大文件大小(以字节为单位),0为不限大小
'saveName' => array('uniqid',''),//上传文件的保存规则,支持数组和字符串方式定义,uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。
'exts' => array('jpg', 'gif', 'png', 'jpeg',"txt",'zip'),
'autoSub' => false,//自动使用子目录保存上传文件 默认为true
);
$upload = new \Think\Upload($config);//
$info=$upload->upload();
//开始上传
if ($info) {
//上传成功
//写入附件数据库信息
$first=array_shift($info);
if(!empty($first['url'])){
$url=$first['url'];
}else{
$url=C("TMPL_PARSE_STRING.__UPLOAD__").$first['savename'];
}
echo "1," . $url.",".'1,'.$first['name'];
exit;
} else {
//上传失败,返回错误
exit("0," . $upload->getError());
}
} else {
$this->display(':swfupload');
}
}
}