当前位置: 首页 > 知识库问答 >
问题:

取消链接无法删除文件

慕容高卓
2023-03-14

我对在ubuntu中使用PHP unlink()删除文件感到沮丧。

我创建了一个非常简单的模拟,如下所示:

  1. 使用766权限在/var/www下创建名为“files”的文件夹

“image.png”仍然存在于“files”目录中

这里是delete.php的php脚本:

$filename = 'image.png';
$file = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . $filename;
unlink($file);

我还尝试了以下脚本:

$filename = 'image.png';
$dir = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'files';
chdir($dir);
unlink($filename);

但仍然无法删除该文件。

共有2个答案

程俊健
2023-03-14

目录的文件夹/所有者可以是与用于运行php的用户不同的用户。

您应该创建一个文件夹,其中分配了用户php。如果你自己做不到,请你的ISP来做。这就是我解决类似问题的方法。

一个用户不能删除unix系统上另一个用户的文件。如果你将它设置为777,那么你可以删除它...

黄永怡
2023-03-14

Unlink抛出失败警告。检查E_WARNING是否可见,以了解发生了什么。

它通常归结为用户权限。请记住,如果您的脚本是由浏览器执行的,通常是名为wwwrunwwdata(或类似名称)的用户在您的服务器上执行脚本。

检查此用户是否有删除权限,然后重试。

 类似资料:
  • 我想从本地服务器上删除beaglebone上运行的文件。 我已经创建了一个显示所有文件的页面,并允许您选择要删除的文件。(如下所示) 该网页以数组的形式将要删除的文件名返回给php脚本unlink。php Unlink.php的代码是: 但是,每当我尝试删除一个文件时:它都会失败。 解除关联()PHP函数没有正确实现,我不知道为什么。我该怎么做才是正确的? 页面位于中,日志位于中。本地服务器的地址

  • 问题内容: 我试图像这样使用PrintWriter: 但是Java抱怨: 无效不能取消引用 如果我做: 可行,有什么原因吗? 问题答案: 是。(和其他方法)的签名返回(不是)。您不能将调用链接到方法。

  • 本文向大家介绍PHP:取消链接目录中的所有文件,然后删除该目录,包括了PHP:取消链接目录中的所有文件,然后删除该目录的使用技巧和注意事项,需要的朋友参考一下 使用glob查找与模式匹配的所有文件。 在PHP 5.3及更高版本上,可以使用以下代码-

  • 问题内容: 我必须从指定的路径中删除属性文件。我使用以下代码: 返回false。 但是成功删除了一个文本文件而不是属性文件。 问题答案: 失败的原因有两个: 这是一个目录,不能为空 您没有操作系统权限才能删除文件 该文件仍在某处打开 最后一个可能是您自己的错误,如果您为该文件打开了FileInput / OutputStream却忘记了将其关闭。

  • 我正在使用sping-boot-2.2.1和sping-HATEOAS。超媒体链接工作正常,但是我在返回链接时看到了属性,请在这里找到下面的代码作为参考和github中的项目, 终点: a)将返回集合模型= 和 b) 将返回列表 控制器。Java 实际反应 预期反应: 我试过了 Spring数据RestdefaultMediaType=application/json spring.hateoas

  • 问题内容: 我在使g ++链接curl lib文件时遇到一些问题。我正在将Visual Studio 2017与linux dev插件和Ubuntu Server 17.04一起使用。 给出了输出,我尝试将其添加到中的链接器选项。我还将输出添加到了编译选项。这没有解决问题。 然后,我尝试从网站上获取源代码,并使用了make和make install。给了我不同的输出。我更改了链接器中的选项,但仍然