Проблема с выводом картинки на экран. Код следующий: <?php $p=dirname(__FILE__).'/fon.png'; $f=imagecreatefrompng("$p"); Header("Content-type: image/png"); Imagepng($f); ?> При попытке запустить, пишет следующее: Warning: Cannot modify header information - headers already sent by (output started at /home/i/домен/WWW/папка/папка/папка/папка/скрипт.php:1) in /home/i/домен/WWW/папка/папка/папка/папка/скрипт.php on line 107 После этой надписи, целая страница каракулей. На линии 107, у меня вот эта часть Header("Content-type: image/png"); Кто, что может подсказать?
а где-то до этой линии у тебя какой-то output. Ищи выше 107 строки echo, print или просто ошибку в коде.
Выше имеются функции типа: file, in_array, fopen, or exit, fputs, flock, fclose, может они сбивают Header? Функций вывода на экран, типа print, echo, нет. Код на ошибки проверил, ничего не нашел.
у. проверь в какой кодировке сохранен файл. Если в utf with BOM то пересохрани без BOM и посмотри нет ли у тебя каких-нибудь символов в самом начале файла. Пробелы там или табы перед первым <? Это же тоже output
Ну все, проблема решилась! Так и есть, что перед первым <?, существовал пробел. Я и не думал, что просто пробел в коде,так сильно влияет на Header. Буду теперь аккуратней. Спасибо за помощь!
Эх рано обрадовался. Все работает только в пустом окне браузера, а если вставить в страницу, то проблема повторяется, и снова выводятся одни каракули.
SV4 ты хочешь вывести картинку посреди хтмл документа ? в таком случае возможно стоит почитать про основы хтмл и каким образом выводятся изображения в тексте.
Пример того, как можно встроить картинку прямо в сам html документ, без дополнительного обращения к серверу за подгрузкой картинки: PHP: <?php $imgName = 'image.jpg'; $path = dirname(__FILE__); $info = getimagesize($path . DIRECTORY_SEPARATOR . $imgName); $data = base64_encode(file_get_contents($path . DIRECTORY_SEPARATOR . $imgName)); ?> <img src="data:<?php echo($info['mime']); ?>;base64,<?php echo($data); ?>" />
sobachnik как вариант. только при этом хтмл документ утяжеляется, а картинка никогда не будет кешироваться