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

Форум PHP

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

 

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

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

тема: unlink() Права
 
 автор: VL   (02.11.2009 в 09:21)   письмо автору
 
 

Возникла проблема с удалением файла.
Файл загружен и существует.
chmod(realpath($path),0777)
unlink(realpath($path));
Специально перед удалением назначаю права 0777
А когда делаю удаление пишет что не хватает прав.
И если делать вывод прав после unlink То пишет что права 0666.

Сервер: Локальная машина

  Ответить  
 
 автор: cheops   (02.11.2009 в 12:11)   письмо автору
 
   для: VL   (02.11.2009 в 09:21)
 

Хм... а дело под Windows происходит или под Linux?

  Ответить  
 
 автор: Yuriev   (02.11.2009 в 14:50)   письмо автору
 
   для: VL   (02.11.2009 в 09:21)
 

Может быть Ваш скрипт не вправе изменять права этого файла

  Ответить  
 
 автор: VL   (03.11.2009 в 03:01)   письмо автору
 
   для: Yuriev   (02.11.2009 в 14:50)
 

Дело под Windows.
Мне тоже кажется что скрипт не в праве изменять. Как обойти проблему?

  Ответить  
 
 автор: cheops   (03.11.2009 в 13:02)   письмо автору
 
   для: VL   (03.11.2009 в 03:01)
 

Тогда дело не в тех правах доступа, которые вы выставляете в PHP-функциях - они будут работать только в UNIX-системе. Файл, который вы правите где находится относительно скрипта? Он находится в пределах виртуального хоста или за его пределами?

  Ответить  
 
 автор: VL   (04.11.2009 в 02:20)   письмо автору
 
   для: cheops   (03.11.2009 в 13:02)
 

Корневая директория Апач D:\Webserver\www
А файл лежит
D:\Webserver\www\modules\magazine\images\2614
То есть в пределах виртуального сервера.

  Ответить  
 
 автор: Temnovit   (04.11.2009 в 18:33)   письмо автору
 
   для: VL   (04.11.2009 в 02:20)
 

Может realpath работает не так как должен? Путь получается точно верным? Со всеми там "D:\" и так далее? Потому что вроде он за корень системы считает диск C:\

  Ответить  
 
 автор: Trianon   (04.11.2009 в 20:06)   письмо автору
 
   для: Temnovit   (04.11.2009 в 18:33)
 

за корень (и не за корень, а за базу отсчета отнолсительных путей) скрипт будет считать рабочий каталог исполняющегося процесса.

  Ответить  
 
 автор: Trianon   (04.11.2009 в 20:04)   письмо автору
 
   для: VL   (02.11.2009 в 09:21)
 

Назначать права файлу перед удалением - никакого смысла. То есть вообще никакого. В любой системе. Вы же не к нему обращаетесь, а к каталогу, который его имя содержит.

Я бы сперва вывел echo realpath($path); и поглядел, что именно скрипт пытается удалить. А то народ уже гадать пошел.

  Ответить  
 
 автор: VL   (05.11.2009 в 04:04)   письмо автору
 
   для: Trianon   (04.11.2009 в 20:04)
 

Значит вот ошибка
Warning:unlink(D:/Webserver/www/modules/magazine/images/2613/upload.rar):Permission denied in бла бла бла
Если скопировать путь и запустить в адресной строке открывается файл.

И сделал echo realpath();
Аналогичный путь.
Дело в том чтоесли я удаляю изображения в этой же папки то все хорошо а вот архивы не хочет.

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

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