2013-10-18 70 views
-1

我有一個簡單的功能,它從一個URL地址($ filein)下載一個圖像,將其存儲在服務器本地,並根據imagepng函數的質量級別應用壓縮之後:壓縮與imagepng不兼容

function create_img_memoire($REF,$filein) 
{ 
    //get file and store it 
    $fileout = '/home/images/public_html/memoire/'.$REF.'.png'; 
    file_put_contents($fileout, file_get_contents($filein)); 

    //compress it 
    $im = imagecreatefrompng($fileout); 
    imagepng($im, $fileout, 9); 
} 

該文件已下載但壓縮不起作用。所以這個函數的第一部分很好,但第二部分沒有工作意味着壓縮。

+1

...和...?發生了什麼或沒有發生什麼? – deceze

+0

對不起,我編輯的問題... –

+0

我沒有在這裏聞到任何壓縮。 O.o –

回答

-1

所以這裏是這個問題的解決方案。我下載了一個.jpg文件並將其命名爲.png,以便MIME類型不是PNG,而是JPG!我需要使用imagecreatefromjpeg代替imagecreatefrom函數

create_img_memoire($REF,$filein) 

    { 
     //get file and store it 
     $fileout = '/home/images/public_html/memoire/'.$REF.'.jpg'; 
     file_put_contents($fileout, file_get_contents($filein)); 

     //compress it 
     $im = imagecreatefromjpeg($fileout); 

     $fileout2 = '/home/images/public_html/memoire/'.$REF.'-op9.png'; 
     imagepng($im, $fileout2, 9); 
     $fileout3 = '/home/images/public_html/memoire/'.$REF.'-op5.png'; 
     imagepng($im, $fileout3, 5); 
     $fileout4 = '/home/images/public_html/memoire/'.$REF.'-op0.png'; 
     imagepng($im, $fileout4, 0); 
    }