我有一個代碼,可以對圖像進行篡改並將其發送到瀏覽器。PHP創建圖像文件,但只適用於本地開發,而不適用於遠程服務器
但它不能正常工作......只有當我要求它將圖像輸出到文件而不是瀏覽器時。
我不認爲問題是我的代碼,因爲這個問題只發生在真正的服務器上;在我的電腦裏它的工作很完美。
代碼:
$img = $_GET['img'];
ini_set('allow_url_fopen', 'on');
$info = getimagesize($img);
header('Content-type: '.image_type_to_mime_type($info[2]));
Fotos::redimensiona($img, null, Fotos::MINIGAL_WIDTH, Fotos::MINIGAL_HEIGHT, false);
照片:: redimensiona():
//[...] a whole bunch of code calculating dimensions, they just works
// $funcImage is like 'imagejpeg'/'imagepng'/'imagegif', depends on file
if ($arquivo) {
$funcImage($thumb, "$final.$ext");
return "$final.$ext";
}
else {
$funcImage($thumb);
}
記住:工作地方發展,但不是做遠程Web服務器上。
[編輯]
如果我評論的header
線,二進制代碼印;並且如我所料,當我更改原始圖像時,此代碼會發生變化。
但隨着header
火狐顯示我的網頁的URL(如http://www.sabianoar.com.br/novosabia/inc/phpImg.php?img=awful_escaped_long_path.jpeg
),如果我這樣做CTRL+I
它告訴我這是一個0x0大小的JPEG,像10kb。
歌劇顯示我一個空的圖像,因爲它會怎麼做,如果我放在了錯誤的src
的<img>
,即
[EDIT2] EyeOfGnome說:「沒有一個JPEG文件:始於0xef爲0xBB」當我嘗試保存並打開輸出(通常將其保存到.jpeg文件中)。
當「無法正常工作」時會發生什麼?它錯誤嗎?沒有輸出?破碎的圖像? – NSSec 2009-08-28 05:10:08
看看編輯。 =]我剛剛添加了這個信息... – igorsantos07 2009-08-28 05:10:54