对于昨天说的文件上传失败找到原因:上传文件过大,所有没有反应的。。
主要还是一些细节处理的不好。。。
下面代码有一部分是转载别人的,感觉写的很严谨,故收藏了。。。。
public function add() {
header("Content-Type:text/html; charset=utf-8");
//图片上传
$type=array("jpg","gif","bmp","jpeg","png"); //图片的类型
$uploaddir="Public/upload/images/";
if(isset($_FILES['file'])) {
$upload_status=$_FILES['file']["error"]; //获取文件出错情况
switch($upload_status)
{
case 0:echo "";break;
case 1:echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。";break;
case 2:echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";break;
case 3:echo "文件只有部分被上传。";break;
case 4:return "";break;
case 6:echo "没有找到临时文件目录。";break;
case 7:echo "文件写入失败。";break;
} //分析文件出错情况并给出提示
$image_file=$_FILES['file']['name'];
$image_tmp=$_FILES['file']['tmp_name'];
$uptype=strtolower(substr(strrchr($image_file,'.'), 1));
if(!in_array($uptype, $type)){
$this->error('您选的图片不符合类型');
}
$uploadimage=$uploaddir.$image_file;
if(file_exists($uploadimage)) {
echo "存在相同的文件名";
exit;
}
move_uploaded_file($image_tmp,$uploadimage);
}