Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Ошибка в коде [5]
Форумы портала PHP.SU » » Если скрипт не работает » Ошибка в коде

Страниц (7): « 1 2 3 4 [5] 6 7 »
 

61. armancho7777777 - 17 Октября, 2011 - 09:59:03 - перейти к сообщению
Мелкий пишет:
armancho7777777 пишет:
А почему?

Потому что вам этого хочется?

PHP:
скопировать код в буфер обмена
  1. $ImgDir = 'ddd';
  2. $e = 'fff';
  3. $path=$ImgDir."/".$e;
  4. $path2="$ImgDir/$e";
  5. if ($path === $path2) echo 'идентично';

Признаю Мелкий, был не прав) Извиняюсь)
Я перепутал с:
PHP:
скопировать код в буфер обмена
  1.  $path="$ImgDir/$e" != $path2='$ImgDir/$e';
62. СЕРьГА - 17 Октября, 2011 - 09:59:25 - перейти к сообщению
illy пишет:
Значит ошибка всё ещё есть.
Давай весь код как есть сейчас.


это код файла photo.php:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. $ImgDir="img"; // Каталог для хранения изображений
  3. @mkdir($ImgDir,666); // Создаем, если его еще нет
  4. // Проверяем, нажата ли кнопка добавления фотографии
  5. if(@$doUpload) {
  6. // Проверяем, принят ли файл
  7. if(file_exists($File)) {
  8. // Все в порядке — добавляем файл в каталог с фотографиями
  9. // Используем то же имя, что и в системе пользователя
  10. Copy($File,"$ImgDir/".basename($File_name));
  11. }
  12. }
  13. // Теперь считываем в массив наш фотоальбом
  14. $d=opendir($ImgDir); // открываем каталог
  15. $Photos=array(); // изначально альбом пуст
  16. // Перебираем все файлы
  17. while(($e=readdir($d))!==false) {
  18. // Это изображение GIF, JPG или PNG?
  19. if(!ereg("^(.*)\\.(gif|jpg|png)$",$e,$P)) continue;
  20. // Если нет, переходим к следующему файлу,
  21. // иначе обрабатываем этот
  22.    $path=$ImgDir."/".$e; // адресa
  23. $sz=GetImageSize($path); // размер
  24. $tm=filemtime($path); // время добавления
  25. // Вставляем изображение в массив $Photos
  26. $Photos[$tm] = array(
  27. 'time' => filemtime($path), // время добавления
  28. 'name' => $e, // имя файла
  29.  
  30. 'url' => $path, // его URI
  31. 'w' => $sz[0], // ширина картинки
  32. 'h' => $sz[1], // ее высота
  33. 'wh' => $sz[3] // "width=xxx height=yyy"
  34. );
  35. }
  36. // Ключи массива $Photos — время в секундах, когда была добавлена
  37. // та или иная фотография. Сортируем массив: наиболее "свежие"
  38. // фотографии располагаем ближе к его началу.
  39. krsort($Photos);
  40. // Данные для вывода готовы. Дело за малым — оформить страницу.
  41.  
  42. ?>


а это код, который отправляет данные:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <html>    <body>
  2.     <form action=photo.php method=POST enctype=multipart/form-data>
  3.     <input type=file name=File><br>
  4.     <input type=submit name=doUpload value="Закачать новую фотографию">
  5.     </form>
  6.     <?foreach($Photos as $n=>$Img) {
  7.    echo '<img src='.$Img['url'].' '.$Img['wh'].' alt="Добавлена '.date("d.m.Y H:i:s",$Img['time']).'">';
  8.    }
  9.    ?>
  10.     </body>
  11. </html>
  12.  
  13.  
63. Мелкий - 17 Октября, 2011 - 10:08:29 - перейти к сообщению
Ну ладно, синтаксических ошибок нет.

СЕРьГА пишет:
if(@$doUpload) {

С чего вы взяли, что это условие когда-нибудь выполнится?
http://php.su/security/?globals
64. morosit - 17 Октября, 2011 - 10:32:12 - перейти к сообщению
СЕРьГА пишет:
if(file_exists($File)) {

А это выполнится?
65. СЕРьГА - 17 Октября, 2011 - 10:35:21 - перейти к сообщению
Мелкий пишет:
Ну ладно, синтаксических ошибок нет.


что значит синтаксических ошибок нет. Это в photo.php может их нет, а при открытии скрипта отправки данных же выводит:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\localhost\www\site\1.php on line 8
66. Мелкий - 17 Октября, 2011 - 10:41:41 - перейти к сообщению
СЕРьГА пишет:
что значит синтаксических ошибок нет

Как что? В приведённом куске синтаксических ошибок нет.

СЕРьГА пишет:
при открытии скрипта отправки данных же выводит:

Дык вам и пишут и в каком файле, и на какой строке синтаксическая ошибка. Туда и смотрите +- пару строк.
67. illy - 17 Октября, 2011 - 10:52:17 - перейти к сообщению
Фотки грузятся в папку img норм.
А вот на странице отправки фото ошибка
Warning: Invalid argument supplied for foreach() in z:\home\test1.ru\www\phpsu\sphoto.php on line 7
откуда ему брать $Photos если его нету?

вставил в photo.php

PHP:
скопировать код в буфер обмена
  1. krsort($Photos);
  2. // Данные для вывода готовы. Дело за малым — оформить страницу.
  3. foreach($Photos as $n=>$Img) {
  4.    echo '<img src='.$Img['url'].' '.$Img['wh'].' alt="Добавлена '.date("d.m.Y H:i:s",$Img['time']).'">';
  5.    }
  6.  

и вывело фотки с датой добавления
68. СЕРьГА - 17 Октября, 2011 - 10:57:02 - перейти к сообщению
morosit пишет:
СЕРьГА пишет:
if(file_exists($File)) {

А это выполнится?


а почему нет??
69. armancho7777777 - 17 Октября, 2011 - 11:11:54 - перейти к сообщению
Или из экшена формы удалите это photo.php,
и подключите его инклюдом к файлу, где форма,
или же этот код :
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($Photos as $n=>$Img) {
  3.    echo '<img src='.$Img['url'].' '.$Img['wh'].' alt="Добавлена '.date("d.m.Y H:i:s",$Img['time']).'">';
  4.    }
  5.  

... перекиньте в photo.php.
70. СЕРьГА - 17 Октября, 2011 - 11:19:28 - перейти к сообщению
illy пишет:
Фотки грузятся в папку img норм.
А вот на странице отправки фото ошибка
Warning: Invalid argument supplied for foreach() in z:\home\test1.ru\www\phpsu\sphoto.php on line 7
откуда ему брать $Photos если его нету?

вставил в photo.php

PHP:
скопировать код в буфер обмена
  1. krsort($Photos);
  2. // Данные для вывода готовы. Дело за малым — оформить страницу.
  3. foreach($Photos as $n=>$Img) {
  4.    echo '<img src='.$Img['url'].' '.$Img['wh'].' alt="Добавлена '.date("d.m.Y H:i:s",$Img['time']).'">';
  5.    }
  6.  

и вывело фотки с датой добавления


да, но как тогда должен выглядеть код отправки данных? как я понимаю, там форича уже быть не должно?
71. morosit - 17 Октября, 2011 - 12:08:59 - перейти к сообщению
СЕРьГА пишет:
а почему нет??
а откуда берется переменная $File?
72. СЕРьГА - 17 Октября, 2011 - 12:27:26 - перейти к сообщению
morosit пишет:
СЕРьГА пишет:
а почему нет??
а откуда берется переменная $File?


как откуда?

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.     <input type=file name=File><br>
73. morosit - 17 Октября, 2011 - 13:01:53 - перейти к сообщению
СЕРьГА пишет:
<input type=file name=File><br>
это вы передаете данные методом POST
и получить их в photo.php можно так:

а я этой строки у вас не вижу
74. illy - 17 Октября, 2011 - 13:03:22 - перейти к сообщению
СЕРьГА пишет:
да, но как тогда должен выглядеть код отправки данных? как я понимаю, там форича уже быть не должно?

зачем он там нужен, если $Photos находится в photo.php ?
75. СЕРьГА - 17 Октября, 2011 - 13:17:28 - перейти к сообщению
illy пишет:
СЕРьГА пишет:
да, но как тогда должен выглядеть код отправки данных? как я понимаю, там форича уже быть не должно?

зачем он там нужен, если $Photos находится в photo.php ?


сделал, но после отправки данных лишь пустой браузер.

 

Powered by ExBB FM 1.0 RC1