Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/49: Рейтинг темы: голосов - 49, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
1

Не отображаются картинки imagejpeg(). Что делать?

23.10.2012, 11:47. Просмотров 9703. Ответов 15
Метки нет (Все метки)

Добрый день,
занимаюсь изучением работы на php, пока все получалось, но вот застрял на отображении картинок:
Код
HTML5
1
<img src='../PHP/Image_JPEG.php'>
и соответсвенно в Image_JPEG.php

PHP
1
2
3
4
5
6
7
<?
$im = imagecreatefromjpeg('../PICTURES/Pic1.jpg'); // открывает
 
header('Content-Type: image/jpeg');
 
imagejpeg($im);  
?>
Но дальше в Chrome появляется не сама картинка Pic1.jpg, а некий стандартный значок обозревателя, а в MSIE вообще дикий текст.

Думаю на неправильную установку библиотеки gd. Но вычислить ошибку не могу.
Вот что дает phpinfo()

GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.3
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.44
WBMP Support enabled
XBM Support enabled
При выгрузке на сервер сайта история повторяется.

Что делаю неправильно? плз., подскажите.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2012, 11:47
Ответы с готовыми решениями:

На главной странице сайта не отображаются картинки записей, а в самой записи все картинки отображаются
Доброго времени суток всем. Помогите пожалуйста разобраться. На главной странице сайта не...

flv файлы не отображаются в проводнике-что делать?
flv файлы не отображаются в проводнике Вин 7 (но при этом проигрываются) -что делать? Добавлено...

Ссылки не переносяться, отображаются белым цветом на странице. Что делать ?
Не могу понять почему ссылки не переносяться в блок КиноМонстер. Так же они поменяли цвет на белый....

Ошибка 101 замучала, пропали картинки - что делать?
Добрый день всем форумчанам! Помогите, кто может. Уже который день меня мучает ошибка 101 (Ошибка...

15
Эксперт PHP
4196 / 3124 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
23.10.2012, 11:57 2
Может быть скрипт выдаёт ошибку, потому изображение и не генерируется? Попробуйте закомментировать строку
PHP
1
header('Content-Type: image/jpeg');
и напрямую обратиться к скрипту.
0
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
23.10.2012, 12:44  [ТС] 3
Добавил проверку на открытие изображения

PHP
1
2
if ($im === false) die ('Не удается открыть изображение');
else echo 'Изображение успешно открыто';
и закомментировал
PHP
1
// header('Content-Type: image/jpeg');
Проверка проходит успешно, но вот изображение теперь идет в каком-то закодированном виде:

Изображение успешно открыто����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C $.' ",#(7),01444'9=82<.342��C 2!!222222222222222222222222222 22222222222222222222222���""�� ���}!1AQa"q2���#B��R��$3 br� %&'()*456789:CDEFGHIJSTUVWXYZc defghijstuvwxyz��������������� ������������������������������ ������������������������ ������ ���w!1AQaq"2�B���� #3R �br� $4�%�&'()*56789:CDEFGHIJSTUVWX YZcdefghijstuvwxyz������������ ������������������������������ ������������������������������ ��?�ee��Z���*L�Z\��ԝ�,|�
0
Эксперт PHP
4196 / 3124 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
23.10.2012, 12:52 4
Ещё может быть проблема из-за кодировки файла Image_JPEG.php. В какой он у вас кодировке? Если в UTF-8 с BOM, то измените на UTF-8 без BOM. И проверьте, чтобы до "header" ничего не выводилось, даже чтобы пробела перед <?php не было.
0
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
23.10.2012, 13:10  [ТС] 5
UTF-8 без BOM
Про header проверил - ничего до него не стоит.
Есть ощущение, что что-то неправильное происходит с работой imagejpeg($im).
Можно ли это как-то проверить?

Добавлено через 10 минут
Код элемента в браузере появляется таким
HTML5
1
<img style="-webkit-user-select: none" src="http://localhost/PHP/Image_JPEG.php">
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16812 / 6690 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
23.10.2012, 13:12 6
проверяйте отдельно, только сам скрипт php - выводит он картинку или нет
0
Эксперт PHP
4196 / 3124 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
23.10.2012, 13:16 7
Как работают другие функции (imagepng, imagegif)? Менять изображение Pic1.jpg на другое не пробовали?
1
602 / 577 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
23.10.2012, 13:16 8
то что вы написали в 3 посте с вопросиками это и есть картинка только без хедера
1
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
23.10.2012, 13:23  [ТС] 9
Цитата Сообщение от KOPOJI Посмотреть сообщение
проверяйте отдельно, только сам скрипт php - выводит он картинку или нет
Я итак весь код урезал до 3х строк, чтобы ничего лишнего. Что-то выводит - т.к. появляется HTML код, похожий на правду, но вместо самой картики значек.
Как быть? - вроде простая функция, но никак разобраться не могу.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16812 / 6690 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
23.10.2012, 13:25 10
stali, еще раз. проверяйте сам скрипт, вводите адрес Php-скрипта с выводом картинки в браузере, а не подключайте его через тег img
1
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
23.10.2012, 13:38  [ТС] 11
Цитата Сообщение от alpex Посмотреть сообщение
то что вы написали в 3 посте с вопросиками это и есть картинка только без хедера
Я это понимаю.
Вопрос, почему с header картинка не отображается в браузере? Что может этому мешать?

Добавлено через 3 минуты
Цитата Сообщение от Lyodik Посмотреть сообщение
Как работают другие функции (imagepng, imagegif)? Менять изображение Pic1.jpg на другое не пробовали?
Пробовал с GIF - аналогичкая ситуация.
Пробовал даже создавать изображение внутри php с помощью
PHP
1
2
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
Тот же результат.

Добавлено через 4 минуты
Цитата Сообщение от KOPOJI Посмотреть сообщение
stali, еще раз. проверяйте сам скрипт, вводите адрес Php-скрипта с выводом картинки в браузере, а не подключайте его через тег img
Ввожу в браузере http://localhost/PHP/Image_JPEG.php
Тот же результат - в Chrome значок битой картинки, в MSIE непонятный код

Добавлено через 4 минуты
Ура получилось. Перебил весь код еще раз, перенес header в самый верх и удалил пустые строки (пробелов там не было), но на всякий случай.
Не знаю, что помогло - но теперь работает.
Спасибо всем - всем в рейтинг.))
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16812 / 6690 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
23.10.2012, 13:41 12
Цитата Сообщение от stali Посмотреть сообщение
Не знаю, что помогло
вот это помогло:
Цитата Сообщение от stali Посмотреть сообщение
удалил пустые строки
1
Эксперт PHP
4196 / 3124 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
23.10.2012, 13:50 13
Цитата Сообщение от KOPOJI Посмотреть сообщение
вот это помогло:
Цитата Сообщение от stali Посмотреть сообщение
удалил пустые строки
Если пустые строки были до открывающего тега <? то да, а если они были уже после <?, то они не влияли
1
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
12.11.2012, 10:37  [ТС] 14
Еще раз вернулся к этой теме и нашел еще возможную причину, того, что не работало.
У меня все документы в кодировке UTF-8 without BOM, но если файл картинки редактировался в блокноте, то кодировка опять становтся просто UTF-8 в итоге изображение ломается.
При конвертации в UTF-8 without BOM все опять заработало!!!
Блин, ну и нежный php в плане картинок: пробелы, кодировки и т.п., пальцем не тронь!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16812 / 6690 / 879
Регистрация: 12.06.2012
Сообщений: 19,968
12.11.2012, 10:43 15
не в плане картинок, а в плане отправляемых заголовок. И не нежный, а просто не может отослать заново, если они уже отосланы.
З.Ы. Что означает предупреждение "headers already sent"
0
Эксперт PHP
4196 / 3124 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
12.11.2012, 11:34 16
Цитата Сообщение от stali Посмотреть сообщение
У меня все документы в кодировке UTF-8 without BOM, но если файл картинки редактировался в блокноте, то кодировка опять становтся просто UTF-8
А вы настройте редактор, чтобы сохранялось автоматом а UTF-8 без BOM.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2012, 11:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Yii2 Image не выводятся картинки на хостинге, на локалке выводилось, что делать?
Использую на сайте https://github.com/CostaRico/yii2-images На локальном серве все хорошо...

неоптимизированый режим: рекомендуемый режим 1280*1024 60Hz" ???? и дальше нет картинки .Что делать
неоптимизированый режим: рекомендуемый режим 1280*1024 60Hz&quot; ???? и дальше нет картинки .Что делать

подскажите что делать при вводимых данных 10 25 и 5 20 программа работает не правильно должна выводить 135 подскажите что делать
Вывод В выходной файл выведите одно число - сколько ударов сделали часы за этот отрезок времени.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.