我試圖從URL獲取圖像,然後將其保存到服務器。這是一個簡單的任務,是的,但是這個圖像具有透明度......事情是,當我將這個文件保存到我的電腦,或者當我嘗試通過PHP將它保存到我的服務器時,我得到相同的結果:圖像變得混亂,其透明度設置爲黑色。圖像的URL是:如何使用PHP獲取並保存此透明圖像
http://cellufun.com/p/avatarimage/agb.aspx?i=Body|M04001|Shirt|M10020|
另一個奇怪的是我的瀏覽器說,圖像是MIME類型的圖像/ PNG,但我不能使用imagecreatefrompng();因爲我得到的「形象不是一個有效的PNG」錯誤...
這裏是我的代碼(我沒有嘗試其他的解決方案,這就是我tryed的最後時間):
<?php
$result=file_get_contents("http://cellufun.com/p/avatarimage/agb.aspx?i=Body|F04001|Shirt|F10020|Pants|MO55|");
$img = imageCreateFromstring($result);
imageAlphaBlending($img, true);
imageSaveAlpha($img, true);
imagecolortransparent($img);
header("Content-type: image/png");
imagepng($img);
?>
哦,我只是tryed這一形象對副本()函數,並仍然得到同樣的結果......它看起來就像圖像尺寸較小,則原始圖像... 只是tryed這一點:
file_put_contents("files/test.png",file_get_contents($result));
和仍然無法正常工作...所以它與圖像本身有關,因爲無論我嘗試獲取圖像數據,它不起作用。
爲什麼你使用'imagegif'而不是'imagepng'? – mhafellner
因爲這個:'我不能使用imagecreatefrompng();因爲我得到了「圖像不是有效的PNG」錯誤......'正如我已經提到@ Markus403 ...和我正在使用imagecreatefromstring() –
問題*可能*是與您的代碼發送表示圖像是PNG的標題,然後發送GIF。什麼是糟糕的瀏覽器要做什麼? – michaelb958