Проблема с imagecreatetruecolor

AnrDaemon

Продвинутый новичок
А так же кэш, и никогда не знаешь, та ли это картинка, что ты ждёшь, или с прошлого раза осталась.
 

WMix

герр M:)ller
Партнер клуба
а ты попробуй, обычно query?xyz=abc не кэшируются, но при желании добавь header. дальше просто crtl+r.. с pdf также делаю, не понимаю людей которые сгружают...
 

AnrDaemon

Продвинутый новичок
Да, да, при желании можно нагородить что угодно. А можно же и не городить?…
 

Ulibka

Новичок
Мастера, помогите пожалуйста найти ответ на мой вопрос :)
Дайте пожалуйста короткий работающий код в котором работает функция imagejpeg($im);
 

Ulibka

Новичок
Собственно Пример №1 у меня не работает - по поводу него и вопрос.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Собственно Пример №1 у меня не работает - по поводу него и вопрос.
Проблемы с потоковым выводом изображений обычно в том, что в поток успевают затесаться какие-то лишние байты — сообщение об ошибке, лишние пробельные символы перед началом скрипта (до <?php ) или UTF BOM.
Что бы проверить — можно размер в байтах сравнить у сохраненного файла и у переданного в браузер. Если он разнится — нужно искать, откуда они взялись.
 

fixxxer

К.О.
Партнер клуба
Собственно Пример №1 у меня не работает - по поводу него и вопрос.
А выведи просто картинку готовую с диска через readfile().
Тупо с диска, убери все gd-функции, оставь только заголовок и readfile:
header('Content-Type: image/jpeg');
readfile('image.jpg'); // путь к файлу на диске
Если и так не работает - то у тебя точно какая-то ерунда с лишними символами.
 

Ulibka

Новичок
Спасибо!

cравнить у сохраненного файла и у переданного в браузер.
Как это сделать? Открыл google chrome вкладку Network - размер 238 байт против 2 кб у сохраненного файла.
На лишние символы до/после внимательно проверил еще раз, удалил все комментарии - нифига.

А выведи просто картинку готовую с диска через readfile().
Вывел - грусть/печаль. (программа ниже)
Посмотрел в hex редакторе.
У сохраненного файла размер на 3 байта больше
При этом первые 9 байт в оригинальном и итоговом файле отличаются .
Тестировал на XAMPP.

При этом на на online-IDE все работает (нажать ctrl Enter)
https://devionity.com/ide/?p=hacsqqiof5tq&k=4d5e39d257e331831effbfaba0ff6b2b

Сам файл с php сохраняю в кодировке UTF-8 с помощью Synwrite.
Или сам дистрибутив с XAMPP какой то недоделанный?
Но я там спокойно поставил и запустил форум на php (Xenforo)
Какой дистрибутив рекомендуете поставить на WIndows (Apache или Ngnix + php ) ?

P.S. запустил программу на хостинге (UBUNTU+Apache) но прямоугольника опять не увидел, правда браузер уже показал полученный размер > 2килобайт

PHP:
<?php
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=1-2.jpg');
header('Cache-Control: must-revalidate');
$file = '22.jpg';
header('Content-Length: ' . filesize($file));
header('Expires: 0');
header('Pragma: public');
readfile($file);
exit;
?>
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
google:byte+order+mark
Она же "BOM".

И отучайся ставить "?>"
Вопреки распростанённому заблуждению, что "?>" означает "конец PHP кода", на самом деле оно означает "выводить всё остальное как есть до следующего "<?(php|=)"."
 
Сверху