Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблемы с unlink()
 
 автор: Sturmvogel   (27.08.2008 в 19:49)   письмо автору
 
 

Проблема сродни этой...

Нужно через класс удалять картинки из директории...

            $FilesPath = $_SERVER['DOCUMENT_ROOT']."/modules/media/images";                                         // путь к изображениям
            $DelWithNameBig = "alb".$aid;                                                                                                            // название крупного изображения
            $DelWithNameSmall = "alb".$aid."_sm";                                                                                             // название уменьшенного изображения

            $handle=opendir($FilesPath);
            $CountFiles = 0;
            while ($f = readdir($handle))
            {
                if ((!is_file($f)) && ($f != ".") && ($f != ".."))
                {
                    $FilesArray[] = $f; 
                    $CountFiles++;
                }
            }
            closedir($handle);

            for ($i = 0; $i <= $CountFiles; $i++)
            {
                $FullFile = $FilesArray[$i];                          // полное название файла с расширением.
                $FileName = strtok($FullFile, ".");               // только название файла.

                if (($FileName = $DelWithNameBig) || ($FileName = $DelWithNameSmall))
                {
                    unlink($FilesPath."/".$FullFile);                              // удаляем файл.
                }
            }


но при таком $FilesPath выдает ошибку permission и удаляет все файлы из директории... при пути modules/media/images, выдает ошибку, что мол не на неходит путь или файл, соответственно, не удаляет вовсе...

  Ответить  
 
 автор: Trianon   (27.08.2008 в 20:24)   письмо автору
 
   для: Sturmvogel   (27.08.2008 в 19:49)
 

вообще в таких случаях стоит unlink заменить на echo и убедиться, что с путями действительно все в порядке.
А затем проверить достаточно ли прав у скрипта, чтобы писать в каталог, из которого удаляются файлы.

  Ответить  
 
 автор: Sturmvogel   (27.08.2008 в 20:57)   письмо автору
 
   для: Trianon   (27.08.2008 в 20:24)
 

единстенное, что при использовании $_SERVER['DOCUMENT_ROOT'] почему-то при выводе ошибки, unlink как будто не видит файлы (то есть идет unlink(...) с точностью до папки, а имя файла при этом не пишет)... без $_S... названия файлов появляются в unlink(), но они не удаляются...

а насчет прав, а при Apache разве права на скрипты не максимальные?

  Ответить  
 
 автор: Valick   (27.08.2008 в 21:41)   письмо автору
 
   для: Sturmvogel   (27.08.2008 в 20:57)
 

при Apache максимальные права только у Виннету.

  Ответить  
 
 автор: Trianon   (28.08.2008 в 00:29)   письмо автору
 
   для: Sturmvogel   (27.08.2008 в 20:57)
 

>единстенное, что при использовании $_SERVER['DOCUMENT_ROOT'] почему-то при выводе ошибки, unlink как будто не видит файлы

Вы вообще мою реплику (первую строку) прочли или как?

>а насчет прав, а при Apache разве права на скрипты не максимальные?

Наоборот - минимальные.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования