Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: expects parameter 2 to be long, string given in
 
 автор: выдр   (07.04.2007 в 15:57)   письмо автору
 
 

у меня глюки: хочу рандомизировать фильтры к картинке, а он материт
<br />
<b>Warning</b>: imagefilter() expects parameter 2 to be long, string given in <b>I:\sayt\php_progekts\image\rand\random.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>: Wrong parameter count for imagefilter() in <b>I:\sayt\php_progekts\image\rand\random.php</b> on line <b>15</b><br />

<?php

$filename = "filters.txt";


$lines = file($filename);

$index = rand(0, count($lines) - 1);

$filter = $lines[$index];

header("Content-type: image/gif");
$image = imagecreatefromgif ("img.gif");
$black = imagecolorallocate($image, 255, 255, 255);
imagefilter($image, $filter);
imagegif($image);
?>


в filters.txt лежат фильтры построчно

   
 
 автор: sms-send   (07.04.2007 в 16:46)   письмо автору
 
   для: выдр   (07.04.2007 в 15:57)
 

>в filters.txt лежат фильтры построчно
Вторым параметром нужно передавать константу типа integer. В каком формате записаны фильтры в файле?

   
 
 автор: выдр   (07.04.2007 в 20:30)   письмо автору
 
   для: sms-send   (07.04.2007 в 16:46)
 

IMG_FILTER_NEGATE
IMG_FILTER_GRAYSCALE
IMG_FILTER_EDGEDETECT
IMG_FILTER_EMBOSS
IMG_FILTER_GAUSSIAN_BLUR
IMG_FILTER_SELECTIVE_BLUR
IMG_FILTER_MEAN_REMOVAL

вот его содержание

   
 
 автор: Саня   (07.04.2007 в 21:10)   письмо автору
 
   для: выдр   (07.04.2007 в 20:30)
 

Попробуйте записать в файл filters.txt такие строки:
0
1
5
6
7
8
9

И модифицировать код:
<?php
$filename 
"filters.txt";
$lines file($filename);
$index rand(0count($lines) - 1);
$filter = (int)$lines[$index];

header("Content-type: image/gif");
$image imagecreatefromgif ("img.gif");
$black imagecolorallocate($image255255255);
imagefilter($image$filter);
imagegif($image);

   
 
 автор: sms-send   (07.04.2007 в 21:23)   письмо автору
 
   для: выдр   (07.04.2007 в 20:30)
 

>IMG_FILTER_NEGATE
>IMG_FILTER_GRAYSCALE
>IMG_FILTER_EDGEDETECT
>IMG_FILTER_EMBOSS
>IMG_FILTER_GAUSSIAN_BLUR
>IMG_FILTER_SELECTIVE_BLUR
>IMG_FILTER_MEAN_REMOVAL
>
>вот его содержание
таким образом вы передаёте в функцию строковое значение, вместо константы.

   
 
 автор: sms-send   (07.04.2007 в 21:25)   письмо автору
 
   для: выдр   (07.04.2007 в 20:30)
 

Можно и не менять "filters.txt", тогда используйте этот код:
<?php
$filename 
"filters.txt";
$lines file($filename);
$index rand(0count($lines) - 1);
$filter $lines[$index];
header("Content-type: image/gif");
$image imagecreatefromgif ("img.gif");
$black imagecolorallocate($image255255255);
imagefilter($image,constant($filter));#обратите внимание на эту строку
imagegif($image);
?>

   
 
 автор: выдр   (08.04.2007 в 08:22)   письмо автору
 
   для: sms-send   (07.04.2007 в 21:25)
 

Warning: constant() [function.constant]: Couldn't find constant IMG_FILTER_NEGATE in I:\sayt\php_progekts\image\rand\random.php on line 9

вот что он говорит при использовании Вашего кода

   
 
 автор: Unkind   (08.04.2007 в 09:45)   письмо автору
 
   для: выдр   (08.04.2007 в 08:22)
 


<?php
$filename 
"filters.txt"
$lines file($filename); 
$filter $lines[array_rand($lines)];
header("Content-type: image/gif");
$image imagecreatefromgif("img.gif"); 
$black imagecolorallocate($image255255255); 
imagefilter($image,constant(rtrim($filter)));
imagegif($image); 
?>

   
 
 автор: выдр   (08.04.2007 в 16:50)   письмо автору
 
   для: Unkind   (08.04.2007 в 09:45)
 

огромное спасибо, все работает!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования