php取消链接文件

时间:2012-01-04 13:06:28

标签: php unlink

我有这种情况。我想删除webroot目录之外的.wav文件,但是我在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-errors中,它给了我“ PHP警告=>没有这样的文件或目录” 我对我做错了什么感兴趣?

它仍然不起作用......

我在C:\ server \ webroot ... 我在C:\ server \ mp3_files有目录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 个答案:

答案 0 :(得分:10)

我认为您打算相对于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");
}

答案 1 :(得分:-3)

尝试

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

或Jacob Relkin用文档根

写的内容