注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿飘的博客

十里平湖霜满天 寸寸青丝愁华年

 
 
 

日志

 
 

php 图片上传  

2009-11-10 13:00:01|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
<?php
    $max_file_size = 2000000;    //上传文件大小限制, 单位BYTE
    $num = uploadDir($uid);
    $destination_folder = "uploads/photos/{$num}/"; //上传文件路径
    $uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');
    if (!is_uploaded_file($_FILES["upfile"]['tmp_name']))
    //是否存在文件
    {
        redirect($msg = '文件不存在!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
    }

    $file = $_FILES["upfile"];
    if($max_file_size < $file["size"])
    //检查文件大小
    {
        redirect($msg = '文件太大!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
    }

    if(!in_array($file["type"], $uptypes))
    //检查文件类型
    {
        redirect($msg = '只能上传图像文件!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
    }
    $path_arr=explode('/',$destination_folder);
    foreach ($path_arr as $key =>$value){
        if ($value){
            if($key == 0){
                $strfile .= $value;   
            }
            if ($key != 0){
                $strfile .= DIRECTORY_SEPARATOR.$value;
            }
            if(!file_exists(M_ROOT.$strfile)) {
                mkdir(M_ROOT.$strfile,0777);
            }
        }
    }
    if(!file_exists(M_ROOT.$destination_folder.'zoom/'))
    mkdir(M_ROOT.$destination_folder.'zoom/',0777);
    $filename=$file["tmp_name"];
    $image_size = getimagesize($filename);
    if ($image_size[0]>800 || $image_size[1]>800) {
        redirect($msg = '图片范围超过800×800!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
    }
    $pinfo=pathinfo($file["name"]);
    $ftype=$pinfo['extension'];
    $destination = $destination_folder.$uid.'_'.time().".".$ftype;
    $descriptionfile = M_ROOT.$destination;
    if (file_exists($destination) && $overwrite != true)
    {
        redirect($msg = '同名文件已经存在了!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
    }

    if(!move_uploaded_file ($filename, $descriptionfile))
    {
        redirect($msg = '图片上传出错!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
    }
    clearstatcache();
    //生成缩略图
    $desc = str_replace("uploads/photos/{$num}/","uploads/photos/{$num}/zoom/",$destination);
    if ($image_size[0]>100 || $image_size[1]>100) {
        if (stristr($file["type"],'jpe')||stristr($file["type"],'jpg')) {
            $im = @imagecreatefromjpeg($descriptionfile);   
        }
       
        if(stristr($file["type"],'gif')) {
            $im = @imagecreatefromgif($descriptionfile);
        }
       
        if(stristr($file["type"],'png')){
            $im = @imagecreatefrompng($descriptionfile);
        }
       
        if( stristr($file["type"],'bmp')) {
            $im = @imagecreatefromwbmp($descriptionfile);
        }
       
        if(empty($im)) {
            @unlink($descriptionfile);
            redirect($msg = '生成缩略图失败!', $url = "{$_config['siteurl']}me/editpicture.php", $min = '3');
        }
        $newheight = 100;
        $newwidth = round($image_size[0]/$image_size[1]*100);
        if($image_size[0]>$image_size[1]) {
            $newwidth = 100;
            $newheight = round($image_size[1]/$image_size[0]*100);
        }
       
        if(function_exists("imagecopyresampled"))
        {
           $newim = imagecreatetruecolor($newwidth,$newheight);
           imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$image_size[0],$image_size[1]);
        }
        else
        {
           $newim = imagecreate($newwidth,$newheight);
           imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$image_size[0],$image_size[1]);
        }
        imagejpeg($newim,M_ROOT.$desc,100);
        imagedestroy($newim);
       
    } else {
        copy(M_ROOT.$destination,M_ROOT.$desc);
    }

  评论这张
 
阅读(1037)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017