<?php
define('ROOT','D:/wamp/www/php3/');
class p_w_picpath{
    protected $im;
    protected $img_width;
    protected $img_height;
    protected $img_type;
    public function create_img($img){
        $info=$this->getimginfo($img);
        $this->img_width=$info[0];
        $this->img_height=$info[1];
        $this->img_type=$info[2];
        $this->bigpic($img);
        $small=$this->smallpic();
        $filename=$this->chkmkdir($img);
        $this->saveImg($filename,$small);
        $filename=str_replace(ROOT,'',$filename);
        return $filename;
    }
    //获取图片信息
    protected function getimginfo($img){
        return getp_w_picpathsize($img);
    }
    //获取大图(即原图)的图像资源
    protected function bigpic($img){
        switch ($this->img_type) {
            case 1:
                $this->im=p_w_picpathcreatefromgif($img);
                break;
            case 2:
                $this->im=p_w_picpathcreatefromjpeg($img);
                break;
            case 3:
                $this->im=p_w_picpathcreatefrompng($img);
                break;
            case 6:
                $this->im=p_w_picpathcreatefromwbmp($img);
                break;
            default:
                return false;
        }
    }
    //创建缩略图并返回缩略图的资源
    protected function smallpic(){
        $in=p_w_picpathcreatetruecolor(100, 100);
        $color=p_w_picpathcolorallocate($in,255,255,255);
        p_w_picpathfill($in,0,0,$color);
        if($this->img_width>=$this->img_height){
            $width=100;
            $height=($this->img_height/$this->img_width)*100;
        }else{
            $height=100;
            $width=($this->img_width/$this->img_height)*100;            
        }
        $x=(100-$width)/2;
        $y=(100-$height)/2;
        p_w_picpathcopyresampled($in, $this->im, $x, $y, 0, 0, $width, $height, $this->img_width, $this->img_height);
        return $in;
    }
    //创建存放缩略图的目录
    protected function chkmkdir($img){
        $path=dirname($img).'/small';
        if(!is_dir($path)){
            if(!mkdir($path)){
                return false;
            }
        }
        $filename=$path.'/small_'.substr(strrchr($img,'/'),1);
        return $filename;
    }
    //保存缩略图
    protected function saveImg($filename,$small){
        switch ($this->img_type) {
            case 1:
                p_w_picpathgif($small,$filename);
                break;
            case 2:
                p_w_picpathjpeg($small,$filename);
                break;
            case 3:
                p_w_picpathpng($small,$filename);
                break;
            case 6:
                p_w_picpathwbmp($small,$filename);
                break;
            default:
                return false;
        }        
    }
}

$img=new p_w_picpath();
echo $img->create_img(ROOT.'feng.png');