首页  >  文章  >  后端开发  >  如何在下载图片的PHP里添加上自动缩略图

如何在下载图片的PHP里添加上自动缩略图

WBOY
WBOY原创
2016-06-06 20:49:16938浏览

这段PHP本来是把titlepic里的外链图片自动下载,我想让它在下载时自动缩略成固定大小的图片。求教应该怎么修改呢?

<code>    $sqltext="SELECT id,titlepic FROM {$dbtbpre}_article where titlepic like 'http://%' order by id limit 1";
    $r=$empire->fetch1($sqltext);
    if($r)
    {
        $path=ECMS_PATH."uploads\\pic\\";
        $yname=$path.basename($r[titlepic]);
        $filename='/uploads/pic/'.basename($r[titlepic]);

        if(file_exists($yname)&&filesize($yname)>0)
        {
            echo($yname."已存在<br>");  //文件存在 
            //exit('s:'.filesize($yname));
        }
        else
        {
            echo($yname."<br>down:".$r[titlepic]);

            $string=ReadFiletext($r[titlepic]);
            WriteFiletext_n($yname,$string);
            sleep(1);           
        }
        $sqltext="update {$dbtbpre}_article set titlepic='$filename' where id='$r[id]'";
        echo('<br>'.$sqltext);
        $empire->query($sqltext);
        sleep(1);   
        echo"<meta http-equiv='\"refresh\"' content='\"1;url=?act\"'>";
    }
    else
    {
        //echo"<meta http-equiv='\"refresh\"' content='\"1;url=ListAllInfo.php\"'>";
        echo"完成";
    }
    db_close();
    $empire=null;
</code>

回复内容:

这段PHP本来是把titlepic里的外链图片自动下载,我想让它在下载时自动缩略成固定大小的图片。求教应该怎么修改呢?

<code>    $sqltext="SELECT id,titlepic FROM {$dbtbpre}_article where titlepic like 'http://%' order by id limit 1";
    $r=$empire->fetch1($sqltext);
    if($r)
    {
        $path=ECMS_PATH."uploads\\pic\\";
        $yname=$path.basename($r[titlepic]);
        $filename='/uploads/pic/'.basename($r[titlepic]);

        if(file_exists($yname)&&filesize($yname)>0)
        {
            echo($yname."已存在<br>");  //文件存在 
            //exit('s:'.filesize($yname));
        }
        else
        {
            echo($yname."<br>down:".$r[titlepic]);

            $string=ReadFiletext($r[titlepic]);
            WriteFiletext_n($yname,$string);
            sleep(1);           
        }
        $sqltext="update {$dbtbpre}_article set titlepic='$filename' where id='$r[id]'";
        echo('<br>'.$sqltext);
        $empire->query($sqltext);
        sleep(1);   
        echo"<meta http-equiv='\"refresh\"' content='\"1;url=?act\"'>";
    }
    else
    {
        //echo"<meta http-equiv='\"refresh\"' content='\"1;url=ListAllInfo.php\"'>";
        echo"完成";
    }
    db_close();
    $empire=null;
</code>

这不是帝国CMS么,你的需求应该是把远程图片保存下来的同时自动等比例裁剪,那就写个函数加到WriteFiletext_n里面就行了。至于怎么裁剪图片谷歌一下,可以直接用imagecopyresampled,或者安装了ImageMagick更好,这个比GD类库好使。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn