windows下file_uploaded_file权限问题

李拜六 2016-04-05 02:50:49
header("content-type:text/html;charset=utf-8");
class upload{

public $_max_size;
public $_allow_ext_list;
public $_allow_mime_list;
public $_upload_path;

public function __construct(){
#大小 格式 mime 移动位置
$this->_max_size=1024*1024;
$this->_allow_ext_list=array('.gif','.png','.jpeg','.jpg');
$this->_allow_mime_list=array('image/png','image/x-png','image/gif','image/jpeg','image/pjpeg');
$this->_upload_path="./";

}


public function uploadone($file){

if($file['error']!==0){
echo "文件有问题";
return false;
}

#2 大小规定

if($file['size'] > $this->_max_size){
echo "文件太大";
return false;
}

#3 获取后缀类型 strrchr( , ) strtolower();
#获取后缀,转换成小写
$ext=strtolower(strrchr($file['name'],'.'));
if(!in_array($ext,$this->_allow_ext_list)){
echo "类型不符合";
return false;
}

#4 mime
$finfo=new Finfo(FILEINFO_MIME_TYPE);#使用php方法检测mime
$mime_type=$finfo->file($file['tmp_name']);
if(!in_array($mime_type,$this->_allow_mime_list)){
echo "类型不符合";
return false;
}

#5 永久化保存 move_uploaded_file!!!!

#要保存的地方
#创建时间子目录
$subdir=date('YmdH').'/';
if(!is_dir($subdir)){
mkdir($subdir);
}
#科学起名 uniqid
$upload_filename=uniqid('cc_',true).$ext;
if(move_uploaded_file($file['tmp_name'],$this->_upload_path.$subdir.$upload_filename)){
return $upload_filename;
}else{
echo "失败";
return false;
}


}

}


#测试
$a=new upload();
var_dump($a->uploadone($_FILES['logo']));
...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
李拜六 2016-04-05
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
换成什么,就不行了?
比如换成 'f:/web/back/upload'; 就不行了
xuzuning 2016-04-05
  • 打赏
  • 举报
回复
换成什么,就不行了?
李拜六 2016-04-05
  • 打赏
  • 举报
回复
$this->_upload_path="./" ./ 没问题 换前其他路径就不行

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧