php разблокирует файл


У меня такая ситуация. Я хочу удалить.файл wav, который находится вне каталога webroot, но я определил в httpd.conf (apache) псевдоним этого каталога, например "mp3". это работает хорошо, потому что я могу загрузить файл из webroot и так далее... Но я также хочу удалить его, чего я не могу сделать. У меня есть PHP такой сценарий =>

class Delete{
   public function del_directory_record($filename){
    if (unlink("/mp3/$filename")){
        return true;
    }
}
}

 $new = new Delete();
 $new->del_directory_record("file.wav");

В php-ошибках это дает мне "Предупреждение PHP =>Нет такого файла или каталога " Мне интересно, что я делаю не так?

Это все еще не работает...

Я в C:\server\webroot ... и у меня есть каталог mp3_files в C:\server\mp3_files В httpd.conf я написал

Alias /mp3/ "C:/server/mp3_files/"
<Directory "C:/server/mp3_files/">
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
 5
Author: DaHaKa, 2012-01-04

2 answers

Я думаю, что вы хотели сделать это относительно вашего DOCUMENT_ROOT:

class Delete {
   public function del_directory_record($filename) {
      return unlink($_SERVER['DOCUMENT_ROOT'] . "/mp3/$filename");
   }
}

$new = new Delete();
$new->del_directory_record("file.wav");

Просто используйте эту автономную функцию, она отлично подойдет. Нет необходимости создавать объект или класс.

function delete_directory_record($filename) {
   return unlink($_SERVER['DOCUMENT_ROOT'] . "/mp3/$filename");
}
 10
Author: Jacob Relkin, 2014-08-23 21:22:56

Попробуйте

if (unlink("/mp3/".$filename)){
        return true;
    }

Или то, что написал Джейкоб Релкин с корнем документа

 -3
Author: Snake Eyes, 2012-01-04 13:08:54