在PHP 7中使用unlink()删除视频文件

时间:2018-07-29 09:55:39

标签: php file php-7 unlink

我在使用php unlink()函数从文件夹中删除视频文件时遇到了问题,图像正在删除,但是在尝试删除视频时提示

unlink(file_path) : permission denied.

2 个答案:

答案 0 :(得分:2)

您(通过CLI或Web服务器运行脚本)需要对文件所在目录的写权限。因此访问该文件还不够。

您的图片目录对于网络服务器或cli将是不同的且可写的。

chmod("your/video/dir/path",0777);

在断开脚本中视频的链接之前,尝试使用上述代码。

答案 1 :(得分:0)

编辑:看起来您正在使用Windows。不幸的是,我的答案是针对类似Unix的操作系统(例如Linux,MacOS)。您可以尝试为Win8 +安装Bash扩展程序,但是我仍然不确定这是否可行。但是,如果有类似问题的人正在这里寻找答案,我会保留我的答案。

在某些情况下,通过PHP更改权限可能有效,但并非总是如此,因为如果您没有删除文件的权限,那么您可能也没有更改它们的权限。

最好的解决方案是创建一个目录,在该目录中将保留PHP具有完全访问权限的文件。我们称之为dirname。创建目录后,将其所有者和组更改为与Web服务器用户名相对应的目录(如果您使用的是Apache,则为“ www-data”),例如:chown www-data:www-data dirname

完成此操作后,更改文件夹的权限。我的建议是744,它将确保拥有它的用户将具有所有权限,而其他所有人只能读取它。为此,请执行以下命令:chmod -R 777 dirname

现在,您应该可以直接从PHP对给定目录中的文件执行任何所需的操作。