|
|
|
| Тема в следующем, тестирую скриптик на Денвере и напоролся на такую штуку. При вызове функции:
<?php
...
opendir('img');
...
closedir('img');
...
?>
|
Дескриптор каталога не меняется, а так и остается в корневом каталоге, а на сервере работает.
В то же время, при смене каталога таким макаром:
<?php
...
chdir("img");
...
chdir("../");
...
?>
|
Все в норме !!! и где тут подвох-то... или я где ступил... | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:07)
| | closedir(resource dir_handle) - закрывает поток директории.
chdir(string directory) - изменяет текущую директорию. | |
|
|
|
|
|
|
|
для: sim5
(02.05.2010 в 13:16)
| | Это понятно, а почему не пашет на Денвере - вот в чем вопрос! | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:22)
| | Что именно не пашет? | |
|
|
|
|
|
|
|
для: sim5
(02.05.2010 в 13:23)
| | Ну директория не меняется...
Как был в корне, так там и остаюсь | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:23)
| | Значит вы не поняли, хотя пишите, что понятно - closedir не меняет директорию, она закрывает поток, ранее открытый opendir, проще говоря высвобождает ресурс. | |
|
|
|
|
|
|
|
для: sim5
(02.05.2010 в 13:26)
| | Ну мне собственно говоря и не обязательно "перепрыгивать" в каталог, достаточно просто кинуть в него файл..
Вот кусок кода, если создавать изображение так:
<?php
...
imagejpeg($thumb, 'img/'.$imgname, $quality);
...
?>
|
То получается файл в корне, с именем - img/img.jpg
А нужно сразу кидать его в папку img | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:30)
| | А зачем тогда вам opendir? Вы не понимаете разницы между этой функцией и chdir. Да и для записи файла достаточно указать путь включающий директорию.
Читайте внимательно мануал:
opendir - возвращает дескриптор директории, используемый в последующих вызовах closedir(), readdir() и rewinddir(). | |
|
|
|
|
|
|
|
для: sim5
(02.05.2010 в 13:36)
| | Да но если просто указать как в примере выше, файл не падает в директорию img вот в чем проблема | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:46)
| | Проблема в указаннии пути, а для того чтобы понять это, включайте вывод ошибок на экран. Если на локальном запись происходит, а на сервере нет, то кроме неверного указания пути, может быть еще и не указаны необходимые права доступа к папке.
Собственно функции применть надо не потому, что у вас не пишется, а для того чего они и служат. | |
|
|
|
|
|
|
|
для: sim5
(02.05.2010 в 13:51)
| | Тестирую на Денвере, там пишется в любую директорию... | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:54)
| | Пишется в любую не потому, что Денвер, а потому, что Windows.
Вывод ошибок лень включить? | |
|
|
|
|
|
|
|
для: Legenda
(02.05.2010 в 13:07)
| | Opendir() только открывает каталог, но не переходит в него, а Chdir() именно переходит в определённый каталог. | |
|
|
|