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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Скрипт выдает ошибку.Почему?
строка с названием bugaga <br><b>Fatal error</b>: Cannot redeclare rdir() (previously declared in /home/portal/Lamppdocs/123/script.php:45) in <b>/home/portal/Lamppdocs/123/script.php</b> on line <b>45</b><br />
altermann
Отправлено: 02 Июня, 2010 - 11:50:13
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010 Откуда: Днепропетровск
Помог: 6 раз(а)
Что за ошибка?
----- Я прирожденный кузнец, я не могу не куя!
toropss
Отправлено: 02 Июня, 2010 - 12:03:09
Гость
Покинул форум
Сообщений всего: 85
Дата рег-ции: Март 2009
Помог: 0 раз(а)
Переведите ошибку и все поймете
vitako
Отправлено: 02 Июня, 2010 - 16:05:30
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2010
Помог: 0 раз(а)
я понял, что он не может повторно выполнить функцию rdir, так как она была ранее объявлена, но почему? И как решить эту проблему предложите пожалуйста.
altermann
Отправлено: 02 Июня, 2010 - 16:17:39
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010 Откуда: Днепропетровск
Помог: 6 раз(а)
Цитата:
# непосредственно вызываем функцию
;
Зачем точка с запятой?
Ну ты и пишешь, пока отступы не задал не понял в чем дело.
У тебя функции объявляются в цикле, и при повторном выполнении цикла он матерится что они уже объявлены. Вынеси объявление функций вне цикла for. Или в начало, или в конец скрипта.
Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2010
Помог: 0 раз(а)
так ведь в цикле каждый раз новое значение переменной $localdir$ls$names$ls меняется, а именно меняется $names, то есть название папки. А за ";" не углядел.
ТО есть если я функцию уберу из цикла, то переменная $localdir$ls$names$ls будит менятся?
altermann
Отправлено: 02 Июня, 2010 - 16:36:29
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010 Откуда: Днепропетровск
Помог: 6 раз(а)
vitako пишет:
ТО есть если я функцию уберу из цикла, то переменная $localdir$ls$names$ls будит менятся?
Вот этого я не знаю, я только синтаксис просмотрел. Откуда ты получаешь значения $localdir, $ls, $names, $ls? разве из функций?
----- Я прирожденный кузнец, я не могу не куя!
vitako
Отправлено: 02 Июня, 2010 - 16:41:20
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2010
Помог: 0 раз(а)
4. $localdir = '/home/portal/Lamppdocs/red/folder'; // Путь до папки с другими папками
10. $ls = dirname ("/swap_file"); // показывает "\" в виндоус, "/" в unix
29. $names = $text["$name"]; это внутри цикла. (Добавление)
$localdir$ls$names$ls до функции , то есть это аргумент, который каждый раз меняется (т.к $names меняется в цикле)
altermann
Отправлено: 02 Июня, 2010 - 16:50:49
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010 Откуда: Днепропетровск
Помог: 6 раз(а)
Должно работать, пробуй.
Я подозреваю что ты не понимаешь смысл функций, и поэтому впихнул их в цикл. Функции объявляются один раз и потом сколько угодно раз вызываются и выполняют код заключенный в них.
----- Я прирожденный кузнец, я не могу не куя!
vitako
Отправлено: 02 Июня, 2010 - 17:01:35
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Да вы были правы! я совершенно забыл то, что функцию нужно один раз объявлять, а вызывать как раз нужно было в цикле.
Огромное спасибо за помощь altermann!
Я вам очень благодарен.
JustUserR
Отправлено: 03 Июня, 2010 - 18:09:25
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
vitako пишет:
Да вы были правы! я совершенно забыл то, что функцию нужно один раз объявлять, а вызывать как раз нужно было в цикле.
При желании функцию можно переобъявлять и изменять несколько раз при выполнении PHP-скрипта - для этой цели служат специальные функции из встроенной библиотеки runkit http://php.su/functions/?cat=runkit
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.