2012-03-22 2 views
0

Я хочу отобразить изображение, используя этот php-скрипт на моем сервере.Конкретная настройка конфигурации Apache для отображения изображений через php?

$file = fopen('/Volumes/PROMISE/products/jpeg/89239-282.jpg', 'rb'); 
header('Content-Type: image/jpeg'); 
fpassthru($file); 

Но я получаю сломанное изображение, этот сценарий находится в верхней части моего индексного файла, теперь для целей тестирования, так что я не думаю, что Тереза ​​вопрос заголовков, Infact его единственной вещь в моем файле индекс. ..

Я попытался с помощью

echo file_get_contents('/Volumes/PROMISE/products/jpeg/89239-282.jpg'); 

Aswell, без какой-либо удачи, файл существует по указанному пути и имеет 777 разрешения.

Мои последние мысли в том, что это может быть какая-то конфигурация на сервере Apache ..? Не знаете, есть ли даже настройка, которая может тормозить изображения?

Это является .htaccess файл настроек

Options +FollowSymlinks -Multiviews 

Это конфигурации из файла httpd.conf

Options All -MultiViews -ExecCGI -Indexes 

я проверил файл mime.types и изображение/JPEG активен.

Так что я догадываюсь, что мой вопрос: есть ли какая-то возможность установки apache с моими изображениями.

редактировать:

я попытался с помощью кода из PHP человека

// Create a blank image and add some text 
$im = imagecreatetruecolor(120, 20); 
$text_color = imagecolorallocate($im, 233, 14, 91); 
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color); 

// Set the content type header - in this case image/jpeg 
header('Content-Type: image/jpeg'); 

// Output the image 
imagejpeg($im); 

// Free up memory 
imagedestroy($im); 

На моем локальном компьютере он работает, но не на нашем сервере. Это дает мне пустую страницу и никаких ошибок.

Если я использую imagejpeg со вторыми парами и сохраняю его на рабочий стол, это, кажется, все мелкие и полностью видимые

+0

Вы просмотрели разбитое изображение, чтобы узнать, содержит ли он какие-либо сообщения об ошибках PHP? –

+0

Проверьте error_log. – Cfreak

+0

вы пытались использовать Fiddler или аналогичный инструмент, чтобы увидеть шестнадцатеричный дамп того, что вы получаете на стороне клиента? – SirDarius

ответ

1

Я видел, что выпуск много раз. Если вы этого не сделали, попробуйте открыть сломанное изображение с помощью текстового редактора, чтобы узнать, есть ли в этом что-то неправильное. Попробуйте разницу между полученным файлом и исходным файлом (с сервера).

Возможные ошибки, которые приходят на ум: уведомления или предупреждения PHP, отображаемые на вашем изображении, пустые символы. Например, пустая строка перед открытием может сломать ваше изображение.

+0

Я пробовал изображение на компьютере, который я использую, и то же изображение работает и отображается. Он не показывает ошибок в журнале, и его точный же хэш-файл md5, если я его использую на сервере и на моем компьютере, если он работает. На сервере он отображает сломанное изображение. Im lost – Patrick

+0

В любом случае вы можете размещать ссылки на оба файла? – Tchoupi

+0

Пустой символ испортил вывод – Patrick

Смежные вопросы