enj0y
V2EX  ›  PHP

求一份PHP的缩略图代码,过程不IO文件的

  •  
  •   enj0y · Sep 15, 2012 · 4745 views
    This topic created in 5013 days ago, the information mentioned may be changed or developed.
    从后端抓取图片(到内存),按给定长宽条件输出图片即可,过程不期望读写文件,求example。

    *.不用担心内存瓶颈,内存充裕且在PHP前面的前端有缓存机制。
    11 replies    1970-01-01 08:00:00 +08:00
    welsonla
        1
    welsonla  
       Sep 15, 2012   ❤️ 1
    以前用开源的一个库:PHPThumb
    kingwkb
        2
    kingwkb  
       Sep 15, 2012
    php本身是没有缓存机制的,用文件或者memcache,自己写吧,求不来
    holystrike
        3
    holystrike  
       Sep 15, 2012
    有个叫x-gen什么的,github上搜一下
    yibin001
        4
    yibin001  
       Sep 15, 2012
    Imagick,可以不生成文件,直接输出到浏览器的。
    enj0y
        5
    enj0y  
    OP
       Sep 15, 2012   ❤️ 1
    @kingwkb 你没看懂我的的内容,我说的是在PHP前面的前端,有缓存机制。具体方案属于机密。我是来求缩略图方案的,不是求cache方案。
    另外MEMCACHE是跨进程、跨协议的,不适用于高并发。
    aveline
        6
    aveline  
       Sep 15, 2012   ❤️ 1
    gd库的...扔块砖头下面的你自己想

    <?php
    $source = imagecreatefromstring($image);
    $thumb =imagecreatetruecolor(800 ,600);

    list($width, $height) = getimagesizefromstring($image);

    imagecopyresized($thumb, $source, 0, 0, 0, 0, 800, 600, $width, $height);

    ob_clean();

    imagepng($thumb);

    $thumb_data = ob_get_contents();

    ob_clean();

    imagedestroy($thumb);
    imagedestroy($source);
    Tom21joy
        7
    Tom21joy  
       Sep 16, 2012   ❤️ 1
    我在OSC上分享过相关的代码,http://www.oschina.net/code/snippet_590893_13105, 希望对你有用^_^
    enj0y
        8
    enj0y  
    OP
       Sep 16, 2012
    @Tom21joy 亲,可以PM个扣扣么~
    Tom21joy
        9
    Tom21joy  
       Sep 17, 2012
    @enj0y 你给我个邮件,我发给你。
    enj0y
        10
    enj0y  
    OP
       Sep 17, 2012
    regent
        11
    regent  
       Sep 17, 2012
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6209 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 02:12 · PVG 10:12 · LAX 19:12 · JFK 22:12
    ♥ Do have faith in what you're doing.