У меня есть код, который динамически изменяет размер изображения и отправляет его в браузер.PHP создает файл изображения, но работает только на локальном dev, а не на удаленном сервере
Но он не работает должным образом ... только если я попрошу его вывести изображение в файл вместо браузера.
Я не думаю, что проблема заключается в моем коде, потому что эта проблема возникает только на реальном сервере; в моем компьютере его работа отлично.
Код:
$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);
Fotos :: 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);
}
Помните: работает на местном развитии, но не на удаленном веб-сервере.
[EDIT]
если я закомментировать header
линию, двоичный код печатается; и этот код изменяется, когда я изменяю исходное изображение, как и ожидалось.
Но с header
Firefox показывает мне URL-адрес страницы (например, http://www.sabianoar.com.br/novosabia/inc/phpImg.php?img=awful_escaped_long_path.jpeg
), и если я делаю CTRL+I
, это говорит мне, что это формат JPEG размером 0x0 и 10kb.
Opera показывает мне пустое изображение, как это будет делать, если я возложила <img>
с неправильным src
, т.е.
[EDIT2] EyeOfGnome говорит: «Не файл JPEG: начинается с 0xEF 0xbb», когда я попробуйте сохранить и затем открыть вывод (он обычно сохраняет файл .jpeg).
Что происходит, когда он «не работает должным образом»? Это ошибка? Нет выхода? сломанное изображение? – NSSec
Посмотрите на редактирование. =] Я только что добавил эту информацию ... – igorsantos07