Существует ли другой тип контента для изображений с другим цветовым профилем? - PullRequest
0 голосов
/ 02 марта 2009

У меня есть скрипт, который будет выводить изображение в формате jpg, gif или png. Он использует соответствующий тип содержимого в соответствии с расширением файла (который в этом случае всегда будет правильным).

Проблема в том, что у меня небольшое количество файлов, которые приводят к внутренней ошибке 500, когда я пытаюсь получить к ним доступ таким образом. Однако они работают, если я пытаюсь получить к ним доступ по прямой ссылке.

Эти файлы имеют одно отличие: их цветовой профиль не является встроенным в sRGB, но вместо этого это sRGB IEC61966-2.1 или «Некалиброванный».

Почему я получаю ошибку?

Мой сценарий: http://pastie.org/pastes/404257

РЕДАКТИРОВАТЬ: я изменил с включения на чтение файла, и это сработало. Но я не знаю почему ...

1 Ответ

0 голосов
/ 02 марта 2009

Нет, типы MIME не определяют цветовые профили. Все, что нужно для интерпретации цветового профиля, встроено в данные изображения; для поддержки цветовых профилей не требуется дополнительная информация на базовом уровне передачи.

Проблема, вероятно, была связана с чем-то другим. Например, если вы включили их в PHP include (), то возникновение последовательности байтов «<?» возможно, вызвал парсер PHP, который выдает ошибки. </p>

Переход на readfile (), как вы сделали, выглядит как правильное решение.

Примечание. Сценарий, с которым вы ссылаетесь, имеет серьезные проблемы с безопасностью, вызванные отсутствием проверки ввода. Вы, возможно, уже знаете это и просто использовали это в качестве упрощенного примера, в этом случае - надеюсь, никто не скопирует код.

...