如何获得使用unlink()的权限


How to get permission to use unlink()?

我创建了一个网站,它具有上传文件的功能,该文件被上传到服务器

我只是php的新手,我下载了xampp,并在本地机器上运行这个网站。我的网站是这样的,你上传一个文件,然后该文件将被上传到服务器,但当我尝试取消链接()时,因为当我试图将文件名删除到数据库时,我也想删除服务器上的图片,但我遇到了一个错误,它说"权限被拒绝"

问题:
如何获得使用unlink();的权限;?

我只使用xamp-

在本地机器上运行它

由于您试图删除一个没有足够/正确权限的文件,因此会发生拒绝权限错误。

若要执行此操作,您必须使用超级用户帐户,或者是上载文件的同一用户。

您可以从命令行转到该目录,并检查为该文件设置的权限。

最简单的解决方案是以administrator/root身份登录并删除该文件。

以下是另一项工作:

// define if we under Windows
$tmp = dirname(__FILE__);
if (strpos($tmp, '/', 0)!==false) {
  define('WINDOWS_SERVER', false);
  } else {
  define('WINDOWS_SERVER', true);
}
  $deleteError = 0;
  if (!WINDOWS_SERVER) {
    if (!unlink($fileName)) {
      $deleteError = 1;
    }
  } else {
    $lines = array();
    exec("DEL /F/Q '"$fileName'"", $lines, $deleteError);
  }
  if ($deleteError) {
    echo 'file delete error';
  }


还有更多:PHP手册,unlink(),Post106952

我建议,总是首先查看PHP手册(如果你的问题涉及PHP),只需转到有问题的功能的页面,在浏览器中单击搜索CTRL+F,然后输入,例如,Windows,结果,在你的情况下,你会找到至少7个与你想要的内容相关或非常接近的帖子。

阅读此URL

如何使用Unlink()函数

我在函数unlink()的评论中找到了这些信息

在Windows系统和Apache下,拒绝访问文件是解除文件链接的常见错误。若要删除文件,您必须更改文件的权限。一个例子:

<?php 
chown($TempDirectory."/".$FileName,666); //Insert an Invalid UserId to set to Nobody Owern; 666 is my standard for "Nobody" 
unlink($TempDirectory."/".$FileName); 
?>

所以试试这样的东西:

$Path = './doc/stuffs/sample.docx';
chown($Path, 666);
if ( unlink($Path) )
    echo "success";
else
    echo "fail";

编辑1

尝试在路径中使用此:

$Path = '.'.DIRECTORY_SEPARATOR.'doc'.DIRECTORY_SEPARATOR.'stuffs'.DIRECTORY_SEPARATOR.'sample.docx';