单个图片上传php

前端页面:

<form action="doAction.php" method="post" enctype="multipart/form-data">
请选择你要上传的文件:<input type="file" name="myFile" /><br/>
<input type="submit" value="上传" />
</form>
php端代码:
header("content-type:text/html;charset=utf-8");
$filename=$_FILES['myFile'];
$maxSize=2097152;
$allowExt=array('jpeg','jpg','png','gif');
if($filename['error']==0){
//判断上传文件的大小
if($filename['size']>$maxSize){
exit('上传文件过大');
}
$ext=pathinfo($filename['name'],PATHINFO_EXTENSION);
if(!in_array($ext,$allowExt)){
exit('非法文件类型');
}
//判断文件是否为真
if(!getimagesize($filename['tmp_name'])){
exit('不是真实的图片类型');
}
//判断文件是否通过post上传上来的
if(!is_uploaded_file($filename['tmp_name'])){
exit('文件不是通过post上传来的');
}
$path='upload';
if(!file_exists($path)){
mkdir($path,0777,true);
chmod($path,0777);
}
$destion=$path.'/'.$filename['name'];
$uniName=md5(uniqid(microtime(true),true)).'.'.$ext;
if(move_uploaded_file($filename['name'],$uniName)){
echo '上传文件成功';
}else{
echo '上传文件失败';
}
}else{
switch ($filename['error']){
case 1:
echo '上传文件超过了php配置文件中upload_max_filesize选择的值';
break;
case 2:
echo '超过了表单MAX_FILE_SIZE限制的大小';
break;
case 3:
echo '文件部分被上传';
break;
case 4:
echo '没有选择上传文件';
break;
case 6:
echo '没有找到临时目录';
break;
case 7:
case 8:
echo '系统错误';
break;
}
}
posted @ 2017-04-17 17:28  sungang  阅读(372)  评论(0编辑  收藏  举报