| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Не понимаю, ошибки |
| Автор: Shark 30.7.2015, 14:01 | ||
Проблема в том, что изначально папки создаются без ошибки. Потом если поменять адрес, выскакивает ошибка (предупреждение): Warning: chdir() [function.chdir]: No such file or directory (errno 2) in Z:\home\localhost\www\test\index.php on line 29 при этом, папка с названием адреса создается. Как избавится от ошибки? |
| Автор: ksnk 30.7.2015, 14:08 | ||
Тоесть сначала проверяется, есть ли каталог $data, он создается-переходится, а потом, на 29 строке есть еще одна команда перехода. Куда? В каталог $data/$data ? закомментиовать 29 строку? |
| Автор: Shark 30.7.2015, 17:03 |
| ksnk, я все понимаю, но если закоментировать (или удалить строку 29), возникает другая проблема... если на этом пользователе каталоги не созданы, то в каталоге $datayear создается 2(!) каталога, с $data и $address P.S. И почему в таком случае предупреждение выводится на 29 строке, а не раньше? |
| Автор: ksnk 30.7.2015, 18:24 | ||
Вот смотри на свой первый же условный оператор
Если мы пойдем по первой ветке, то создадим каталог. И останемся в каталоге-родителе. Ели пойдем по второй ветке - перейдем в каталог. Не видишь ошибку в логике? ветка else лишняя? |
| Автор: Shark 30.7.2015, 19:08 | ||
| ksnk, я не понимаю к чему ты клонишь Запусти вирутальный сервер.. и создай там index.php с кодом выше.. потом запусти файл, и посмотри, что будет в папке с этим файлом. Будет все правильно. После этого, поменяй $address и нажми F5, либо снова в адресной строке вбей адрес и нажми интер. Будет предупреждение!.. Вопросы: 1. Раз он при смене $address ругается на chdir($data), почему, нет "ругани" на chdir($datayear) и предыдущие? 2. возьмем кусок, из-за которого появляется предупреждение:
с 27 строки по 33 .. получается, если не существует каталога $address в каталоге $data (в который мы спокойно перешли в предыдущем шаге), то переходим в каталок $data (на который почему-то "ругается код") и создаем каталог с новым адресом. P.S. Сорри за тупость... я бы не спрашивал, если бы он ругался на предыдущие каталоги при переходе в них |
| Автор: ksnk 30.7.2015, 21:24 | ||
Вот я переписал кусок как он , imho, должен был быть. Чем он отличается от того, что был? К 29-й строке, на которой делается попытка chdir, УЖЕ был переход в этот каталог на строке 25. |
| Автор: Shark 31.7.2015, 06:02 | ||||
По твоей подсказке
переписал код так:
и все стало прекрасно работать. |