|
|
|
| Делаю так:
$dir = $_SERVER['DOCUMENT_ROOT'].'/articles/articles/'.$id; // имя папки
$files = scandir($dir);
foreach ($files as $k => $f){
$f = $_SERVER['DOCUMENT_ROOT'].'/articles/articles/'.$f;
unlink($f);
}
rmdir($_SERVER['DOCUMENT_ROOT'].'/articles/articles/'.$id);
Выводит следующие ошибки:
Warning: unlink(C:/xampp/htdocs/articles/articles/.) [function.unlink]: Permission denied in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 48
Warning: unlink(C:/xampp/htdocs/articles/articles/..) [function.unlink]: Permission denied in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 48
Warning: unlink(C:/xampp/htdocs/articles/articles/1.gif) [function.unlink]: No such file or directory in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 48
Warning: unlink(C:/xampp/htdocs/articles/articles/7.php) [function.unlink]: No such file or directory in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 48
Warning: unlink(C:/xampp/htdocs/articles/articles/7.txt) [function.unlink]: No such file or directory in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 48
Warning: rmdir(C:/xampp/htdocs/articles/articles/7) [function.rmdir]: Directory not empty in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 50
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\articles\adminka_articles_do_it.php:48) in C:\xampp\htdocs\articles\adminka_articles_do_it.php on line 56 | |
|
|
|
|
|
|
|
для: alesh@
(17.09.2009 в 23:06)
| | У скрипта нет прав доступа на удаление файлов из директории C:/xampp/htdocs/articles/articles/ | |
|
|
|
|
|
|
|
для: cheops
(18.09.2009 в 08:40)
| | Разве на локальном сервере XAMPP нужно прописывать права доступа? Или как их прописать для скрипта? | |
|
|
|
|
|
|
|
для: alesh@
(18.09.2009 в 20:32)
| | на папке, которую удаляешь должны быть права 666, или если слишком суеверен 777 | |
|
|
|
|
|
|
|
для: alesh@
(18.09.2009 в 20:32)
| | по умолчанию не нужно | |
|
|
|
|
|
|
|
для: alesh@
(17.09.2009 в 23:06)
| | Дело в том, что scandir() возвращает в том числе и текущий (точка .) и родительский каталог (две точки ..) - вы пытаетесь их удалить - нужно всегда проверять что перед вами каталог или файл (функции is_dir() и is_file()).
Кроме того, у вас файл C:/xampp/htdocs/articles/articles/1.gif существует? Скрипт сообщает, что нет. | |
|
|
|
|
|
|
|
для: cheops
(18.09.2009 в 21:46)
| | Разве точка обозначает текущий каталог? Я всегда думал, что она обозначает корневой каталог. | |
|
|
|
|
|
|
|
для: Commander
(19.09.2009 в 12:56)
| | Нет, точка - это текущий каталог, корень в UNIX обозначается /, а Windows буквой диска. | |
|
|
|
|
|
|
|
для: cheops
(19.09.2009 в 13:00)
| | Все ясно. Понятно почему у меня пару лет назад функция поиска файлов папке в качестве результата вернула именно ту папку, в которой проводился поиск. | |
|
|
|
|
|
|
|
для: cheops
(19.09.2009 в 13:00)
| | >Нет, точка - это текущий каталог, корень в UNIX обозначается /, а Windows буквой диска.
В Windows корень точно также обозначается слэшем. Возможно, обратным. Но никакой не буквой. Пример - C:etc\hosts | |
|
|
|
|
|
|
|
для: cheops
(18.09.2009 в 21:46)
| | C:/xampp/htdocs/articles/articles/1.gif - конечно же не существует, я только сейчас заметил!
Должно быть: C:/xampp/htdocs/articles/articles/1/1.gif
Но не понятно почему папка с номером 1 не прописывается в пути.
Я вывел $dir с помощью echo, в переменной все впоряде, но после использования функции scandir(); и цикла foreach в переменной $f оказывается C:/xampp/htdocs/articles/articles/1.gif. и естественно что этого файла не существует. В чем проблема то?! | |
|
|
|
|
|
|
|
для: alesh@
(19.09.2009 в 22:50)
| | Нужно исправить строки
<?php
$f = $_SERVER['DOCUMENT_ROOT'].'/articles/articles/'.$f;
unlink($f);
?>
|
на
<?php
$f = $_SERVER['DOCUMENT_ROOT'].'/articles/articles/1/'.$f;
unlink($f);
?>
|
| |
|
|
|