Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема
Форум программистов > Интернет и сети > Web-программирование > PHP программирование
гость
У меня проблема:
1создаю файл например test.php
2ввожу в инет-эксплорере его адрес(http://localhost/test.php)
-откривает-все ok
3меняю фаил(листинг в фаиле),имя оставляю тоже-test.php
4ввожу в инет-эксплорере его адрес-откривает-
результат как в старом файле..
какие настройки експлорер"а поменять?
ПОМОГИТЕ!!!
Andrew Stephanoff
F5, Ctrl+R
Belfisher
или ctrl+F5
Храбрый Викинг
сначала Ctrl+s
New_Chaynik
Народ, помогите, plz.. Ботва такая..:

Есть пакет ДЕНВЕР и простенький скрипт:

<?php
     $image = imagecreatefrompng("Fuck.png");
     imagepng($image);
     imagedestroy($image);
?>


Файл Fuck.png существует и находится в одном каталоге со сценарием..

Какого х..я этот скрипт выводит мне не картинку, а содержимое файла "Fuck.png"???
Цитата
...eY’$њуnЂй™gѕ Ђ|лУЯQ”Ќ”в3якЏќsЊ±,ЛFЈQћзѕпГB€ѓ ‚АZфzЅЩl¶Z­Ъ¶}ђйрvеТ№±w3е...


Скрипт брал из мануала... Туплю уже 4-й день...
New_Chaynik
Хых... Такая хрень, наверное, у одного меня... smile.gif
Andrew Stephanoff
подставь попробуй браузеру заголовок с типом файла: что-то типа "image/png" не помню точно да и искать лень smile.gif
New_Chaynik
Получилось
<?php
    header("Content-type: image/png");
    $image = imagecreatefrompng("Fuck.png");
    imagepng($image);
    imagedestroy($image);
?>


Спасибо!! Это заработало..
А вот при вставке header() в другой работающий скрипт с целью отображения картинки PHP пишет:
Цитата("PHP")
Warning: Cannot modify header information - headers already sent by (output started at z:\home\localhost\www\my\script.php:14) in z:\home\localhost\www\my\script.php on line 80
Серёга
Для: New_Chaynik
у тебя что-то выводится до хедеров
запомни, зедеры должны быть всегда ДО вывода контента.
попробуй продебагить.
New_Chaynik
Цитата(Серёга @ 16:09:2005, 22:24 )
Для: New_Chaynik
у тебя что-то выводится до хедеров
запомни, зедеры должны быть всегда ДО вывода контента.
попробуй продебагить.
*



Посмотри сам.. Вот весь скрипт:

<?php 
    echo "<b><i>".$_SERVER['HTTP_USER_AGENT']."</i></b><p>";
    
    if (!file_exists($filename)  || !(substr($filename, -4) === ".bmp" ))
    echo "<br><H2>File not found or file is not BMP-file!!</H2>";
    else
    {
 echo "<u>File:</u> $filename <br><br>";
 $str = join('', file($filename));
?>  
</tr></td>
</table></font>
<hr size=4>

<font face="Arial Narrow" color="Green">
<table bgcolor="Black" border="0" width="100%">

<?php
   Header("Content type: image/png");
 $image = imagecreatefrompng("Fuck.png");
 imagepng($image);
 imagedestroy($image);

    }    
?>
WiseMan
Цитата(New_Chaynik @ 16:09:2005, 22:52 )
Посмотри сам.. Вот весь скрипт:

<?php 
    echo "<b><i>".$_SERVER['HTTP_USER_AGENT']."</i></b><p>";
    
    if (!file_exists($filename)  || !(substr($filename, -4) === ".bmp" ))
    echo "<br><H2>File not found or file is not BMP-file!!</H2>";
    else
    {
 echo "<u>File:</u> $filename <br><br>";
 $str = join('', file($filename));
?>  
</tr></td>
</table></font>
<hr size=4>

<font face="Arial Narrow" color="Green">
<table bgcolor="Black" border="0" width="100%">

<?php
   Header("Content type: image/png");
 $image = imagecreatefrompng("Fuck.png");
 imagepng($image);
 imagedestroy($image);

    }    
?>

*


А зачем два раза выводить PHP? Попробуй вывести HTML тэги, через оператор echo. Хотя даже незнаю... впринципе можно делать как и ты... Хм, сейчас подумаю.
Серёга
Для: New_Chaynik
блин, я же сказал, сначала header() потом вывод всего остального, а у тебя хедеры в самом конце, конечно работать не будет.
New_Chaynik
Для: Серёга ..

В смысле вот так.. :
<?php
Header("Content type: image/png"); #######################
echo "<b><i>".$_SERVER['HTTP_USER_AGENT']."</i></b><p>";

if (!file_exists($filename)  || !(substr($filename, -4) === ".bmp" ))
echo "<br><H2>File not found or file is not BMP-file!!</H2>";
else
{
echo "<u>File:</u> $filename <br><br>";
$str = join('', file($filename));
?>  
</tr></td>
</table></font>
<hr size=4>

<font face="Arial Narrow" color="Green">
<table bgcolor="Black" border="0" width="100%">

<?php
$image = imagecreatefrompng("Fuck.png");
imagepng($image);
imagedestroy($image);

}
?>


Неа.. У меня нихрена не работает.. Тот же Warning только номер строки изменился...
New_Chaynik
В общем никак он не хочет комбинировать текстовый и графический вывод в одном документе... Где бы я эти хедеры не всунул..

Перерыл уйму документации и учебников - везде либо графический вывод, либо текстовый - комбинирования ни в одной статье затронуто не было.. По крайней мере я не нашёл.. Бред какой-то.. Неужели такой задачи ни у кого не возникало??

Как быть?
Jkar
Надо делать <IMG SRC="script.php">
New_Chaynik
Цитата(Jkar @ 19:09:2005, 16:49 )
Надо делать <IMG SRC="script.php">
*


Да, так работает..
А не туповато?? Согласитесь...

Просто мне ещё в этот... "рисунок".. нужно передавать строку, размером с файл: $str = join('', file($filename));
Как мне это грамотно сделать методом POST?

..Короче, BMP-файл я читаю и попиксельно вывожу - лаба это по Цифровой обработке сигналов.. smile.gif
Jkar
Цитата(New_Chaynik @ 19:09:2005, 20:41 )
Да, так работает..
А не туповато?? Согласитесь...
*

Нет, не туповато.
New_Chaynik
Цитата(Jkar @ 19:09:2005, 21:10 )
Нет, не туповато.
*


Беру свои слова назад... Это совсем не туповато.. А даже наоборот..

Так как передать в скрипт, выводящий картинку, строку $str ??
Jkar
Цитата(New_Chaynik @ 20:09:2005, 00:11 )
Беру свои слова назад... Это совсем не туповато.. А даже наоборот..

Так как передать в скрипт, выводящий картинку, строку $str ??
*

Может проще передать $filename?
New_Chaynik
Цитата(Jkar @ 20:09:2005, 15:25 )
Может проще передать $filename?
*


Как вариант.. Можно и так..

Только как??
Jkar
get'ом
New_Chaynik
Цитата(Jkar @ 20:09:2005, 22:37 )
get'ом
*


OK.. Попробую...
New_Chaynik
В принципе всё работает..

Если бы не одно большое НО...

Условие задания такое, что мне нужно прочитать содержимое bmp-файла "как положено", т.е. открыть файл и, считывая побайтно, попиксельно выводить на экран изображение..

Только все графические функции в PHP работают с тройками RGB... А в BMP-файле информация по цветам хранится в каждом байте в виде индексированных значений от 0 до 255, где каждое число - это свой цвет.. Сначала вопрос стоял о конвертации "индексированное значение -> RGB-тройка".. Потом я нашёл вот такую функцию:

array imagecolorsforindex ( resource image, int index); - Возвращает ассоциативный массив с ключами red, green и blue, содержащими соответствующие значения для специфицированного индекса цвета.

Всё бы хорошо, но я столкнулся с следующей тупкой:

<?php
$im = imagecreatefromgif("Fuck.gif");
$color_index = imagecolorat($im, 80,20);
$rgb = imagecolorsforindex($im, $color_index); //даже если вместо $color_index подставить произвольное число [0..255] - всё нормально работает
...      
$color = ImageColorAllocate($im, $rgb["red"], $rgb["green"],$rgb["blue"]);
...
ImagePng($im);
ImageDestroy($im);
?>


- этот код работает без проблем..

А вот этот
<?php
$im = imagecreate(400, 400); //////////////////////////////////////////////////
$str = join('', file($_GET['name']));
...
$rgb = imagecolorsforindex($im, $str[$j]);
...      
$color = ImageColorAllocate($im, $rgb["red"], $rgb["green"],$rgb["blue"]);
...
ImagePng($im);
ImageDestroy($im);
?>


- ни в какую..:

Warning: imagecolorsforindex(): Color index 45 out of range in z:\home\localhost\www\my\drawing2.php on line 12


Подскажите, plz, в чём моя ошибка? Или может можно конвертацию по-другому как-нить замутить?
New_Chaynik
...т.е. при $j = 1..255 - выводится предупреждение -

..Придупреждения нет только при $j = 0...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2009 IPS, Inc.