PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

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

> Найдено сообщений: 81
СЕРьГА Отправлено: 17 Октября, 2011 - 10:57:02 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
morosit пишет:
СЕРьГА пишет:
if(file_exists($File)) {

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


а почему нет??
СЕРьГА Отправлено: 17 Октября, 2011 - 10:35:21 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
Мелкий пишет:
Ну ладно, синтаксических ошибок нет.


что значит синтаксических ошибок нет. Это в photo.php может их нет, а при открытии скрипта отправки данных же выводит:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\localhost\www\site\1.php on line 8
СЕРьГА Отправлено: 17 Октября, 2011 - 09:59:25 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
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.  
СЕРьГА Отправлено: 17 Октября, 2011 - 09:47:05 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
armancho7777777 пишет:
Вот, посмотрел Ваш файл мельком:
Что это ?
PHP:
скопировать код в буфер обмена
  1. $path="$ImgDir/$e"; // адрес


А эта "строка" в перемешку с переменными является элементом этого массива $Photos с ключом "url",
которую Вы пытаетесь получить из $Img['url'].

При переборе натыкается на неё и выдаёт ошибку.

Что не понятного?

Должно быть так:
PHP:
скопировать код в буфер обмена
  1. $path=$ImgDir."/".$e; // адрес

(Добавление)
Мелкий пишет:
Каким образом? Ведь PHP вовсе не исполнил ни единой строки, т.к. нашёл ошибку на этапе разбора.

Вот таким образом:
PHP:
скопировать код в буфер обмена
  1. $path="$ImgDir/$e"; // адрес

Это попало в массив.
Синтаксически всё верно в этой строке, как думаете?)
(Добавление)
armancho7777777 пишет:
По ходу какая-та строка с переменной в перемешку затисалась...

Как и говорил...

извините, но ничего не изменилось((
СЕРьГА Отправлено: 16 Октября, 2011 - 19:54:22 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
armancho7777777 пишет:

Нужен весь код Ваш, который может иметь отношение к этой ошибке... К лже массиву этому. Т.е. что попадает в $Photos, как попадает, откуда попадает и т.д.
И если это всётаки массив, то надо просмотреть все элементы этого массива на предмет синтаксической ошибки, допущенной в том, что попадает в них.
И ещё, хередоки есть поблизости?


ну так этот код в самом первом сообщении этой темы. А в массив, как уже сказал Мелкий, ничего не попадает, так как скрипт, отправляющий данные,. не исполняется.
СЕРьГА Отправлено: 16 Октября, 2011 - 14:24:08 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
armancho7777777 пишет:
СЕРьГА пишет:
Warning: Invalid argument supplied for foreach()

$Photos не массив, или пустой массив. Прочитайте его c помощью print_r(), какой результат?


попробовал. пишет:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\localhost\www\site\1.php on line 8
СЕРьГА Отправлено: 16 Октября, 2011 - 06:57:05 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
illy пишет:
тогда поменяй формат на php
PHP:
скопировать код в буфер обмена
  1. <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. <?PHP
  7. foreach($Photos as $n=>$Img) {
  8. echo '<img src='.$Img['url'].' '.$Img['wh'].' alt="Добавлена '.date("d.m.Y H:i:s",$Img['time']).'">';
  9. }
  10. ?>
  11. </body>


ну поменял. но пишет:

Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\site\1.php on line 7
СЕРьГА Отправлено: 14 Октября, 2011 - 12:58:42 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
там написано:

Цитата:
Появилась надпись It Works - хорошо. Это содержимое файла index.html, который лежит в каталоге C:\Program Files\Apache Software Foundation\Apache2.2\htdocs. Создайте в этом каталоге папку folder1, в ней создайте файл qwerty.html, в нем напишите что-нибудь. Откройте в браузере http://localhost/folder1/qwerty[dot]html . Видите? Принцип понятен? Это я о взаимосвязи расположения файлов на диске и того, как выглядит адрес в адресной строке браузера.


у меня денвер и папки "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" у меня нет. И куда мне эту папку folder создать?
СЕРьГА Отправлено: 14 Октября, 2011 - 10:03:08 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
illy пишет:
может где-то есть mod rewrite? =>
А без => нельзя обойтись?


может и можно, но я не умею по-другому(
(Добавление)
Мелкий пишет:
СЕРьГА, а теперь откройте исходный код страницы. (не скрипта!). И увидите там и <?php в том числе.


ну естественно.. и что?
СЕРьГА Отправлено: 14 Октября, 2011 - 09:14:11 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
illy пишет:

Серьга у тебя <?PHP тоже как текст выводится?


нет. только вот это: $Img) { echo 'Добавлена '.date('; } ?>. То есть, вся проблема похоже в "=>".
СЕРьГА Отправлено: 13 Октября, 2011 - 20:50:31 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
LIME пишет:
сначала еще раз #^*#&#^&%^
а теперь поменяйте расширение на php


и всё-таки может скажете мне, что значит "#^*#&#^&%^" и что с этим делать.. знаю, что кажусь вам смешным, но что поделать.. не догоняю я(( Может потом и сам посмеюсь, но сейчас мне не до смеха.
СЕРьГА Отправлено: 13 Октября, 2011 - 16:43:11 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
illy пишет:
А вообще php скрипты работают в других файлах


ну да.
СЕРьГА Отправлено: 13 Октября, 2011 - 16:09:49 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
armancho7777777 пишет:
СЕРьГА пишет:
неужели нет больше другого выхода?

O.M.G...
Для дого, чтобы перезапустить апач, достаточно перезапустить денвер.
Перезапустить, это значит выключить и включить.


Хах)) да я это делал уже, конечно)
СЕРьГА Отправлено: 13 Октября, 2011 - 15:11:18 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
armancho7777777 пишет:
СЕРьГА пишет:
у меня денвер вообще-то. да, до сих пор((

А на денвере что, не апачь работает?


да я даже и не знаю) наверное, апач)) но переустанавливать не хочется(( неужели нет больше другого выхода?
СЕРьГА Отправлено: 13 Октября, 2011 - 14:44:34 • Тема: Ошибка в коде • Форум: Если скрипт не работает

Ответов: 95
Просмотров: 20001
LIME пишет:
СЕРьГА сейчас спрошу страшную вещщь
вы как скрипты запускаете
даблкликом на файле?


нет, конечно. набираю в адресной строке браузера

Страниц (6): « 1 [2] 3 4 5 6 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB