码迷,mamicode.com
首页 > Web开发 > 详细

php 上传图片

时间:2016-08-01 13:51:18      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

学习地址:http://www.imooc.com/video/2473

<?php 
header("content-type:text/html;charset=utf-8");

/**
 * 生成唯一字符串
 * @return string
 */
function getUniName(){
    return md5(uniqid(microtime(true),true));
}

/**
 * 得到文件的扩展名
 * @param string $filename
 * @return string
 */
function getExt($filename){
    return strtolower(end(explode(".",$filename)));
}



//$_FILES
$filename=$_FILES[‘myFile‘][‘name‘];
$type=$_FILES[‘myFile‘][‘type‘];
$tmp_name=$_FILES[‘myFile‘][‘tmp_name‘];
$error=$_FILES[‘myFile‘][‘error‘];
$size=$_FILES[‘myFile‘][‘size‘];
$allowExt=array("gif","jpeg","jpg","png","wbmp");
$maxSize=1512000;
$imgFlag=true;
//判断下错误信息
if($error==UPLOAD_ERR_OK){
    $ext=getExt($filename);
    //限制上传文件类型
    if(!in_array($ext,$allowExt)){
        exit ("非法文件类型");
    }
    if($size>$maxSize){
        exit ("文件过大");
    }
    if($imgFlag){
        //如何验证图片是否是一个真正的图片类型
        //getimagesize($filename):验证文件是否是图片类型
        $info=getimagesize($tmp_name);
        //var_dump($info);exit;
        if(!$info){
            exit("不是真正的图片类型");
        }
    }
    //需要判断下文件是否是通过HTTP POST方式上传上来的
    //is_uploaded_file($tmp_name):
    
    $filename=getUniName().".".$ext;
    $path="uploads";
    if(!file_exists($path)){
        mkdir($path,0777,true);
    }
    $destination=$path."/".$filename;
    if(is_uploaded_file($tmp_name)){
        if(move_uploaded_file($tmp_name, $destination)){
            $mes="文件上传成功";
        }else{
            $mes="文件移动失败";
        }
    }else{
        $mes="文件不是通过HTTP POST方式上传上来的";
    }
}else{
    switch($error){
        case 1:
            $mes="超过了配置文件上传文件的大小";//UPLOAD_ERR_INI_SIZE
            break;
        case 2:
            $mes="超过了表单设置上传文件的大小";            //UPLOAD_ERR_FORM_SIZE
            break;
        case 3:
            $mes="文件部分被上传";//UPLOAD_ERR_PARTIAL
            break;
        case 4:
            $mes="没有文件被上传";//UPLOAD_ERR_NO_FILE
            break;
        case 6:
            $mes="没有找到临时目录";//UPLOAD_ERR_NO_TMP_DIR
            break;
        case 7:
            $mes="文件不可写";//UPLOAD_ERR_CANT_WRITE;
            break;
        case 8:
            $mes="由于PHP的扩展程序中断了文件上传";//UPLOAD_ERR_EXTENSION
            break;
            
            
            
    }
}
echo $mes;
//服务器端进行的配置
//1》file_uploads = On,支持通过HTTP POST方式上传文件
//2》;upload_tmp_dir =临时文件保存目录
//3》upload_max_filesize = 2M默认值是2M,上传的最大大小2M
//4》post_max_size = 8M,表单以POST方式发送数据的最大值,默认8M
//客户端进行配置,form表单必须是post,也必须有enctype="multipart/form-data"
// <form action="doAction1.php" method="post" enctype="multipart/form-data">
//     请选择上传文件:<input type="file"  name="myFile"  /><br/>
//     <input type="submit" value="上传"/>
// </form>

 

php 上传图片

标签:

原文地址:http://www.cnblogs.com/CyLee/p/5725505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!