gpt4 book ai didi

php - 使用通配符删除文件 - exec vs unlink

转载 作者:可可西里 更新时间:2023-11-01 12:47:04 25 4
gpt4 key购买 nike

我正在编写一个 php 脚本,我想在其中使用通配符 (*) 从给定文件夹中删除一些文件。
我找到了一些工作示例,例如 this one ,其中使用了 unlink()glob() 函数。

现在,我想知道,是否也可以使用 exec 函数和类似 rm -f/path/to/folder/_prefix_* ?
使用它是否存在任何安全风险?
如果可以,在性能方面是否会更好?

编辑:
所以,从第一个答案我可以看出,使用 exec 确实是一个可以接受的解决方案。
性能问题呢? exec 选项是否有可能比 glob/unlink 技术更好(更快/要求更低)?

提前致谢

最佳答案

因为用户提供的数据没有机会被注入(inject),所以在 glob/unlink 上使用 exec 没有安全问题。但是,使用 glob/unlink 允许您定义异常:

foreach(glob("delete/*") as $f) {
if( $f == "delete/notme.txt") continue;
unlink($f);
}

而且 exec 通常在共享服务器上被禁用,因此 glob/unlink 更具可移植性。如果您有专门的设置并且不打算放弃它,则无需担心。

关于php - 使用通配符删除文件 - exec vs unlink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com