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>
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");
}
Попробуйте
if (unlink("/mp3/".$filename)){
return true;
}
Или то, что написал Джейкоб Релкин с корнем документа