在php unlink中使用通配符

我目前正在创建一个PHP脚本来绘制来自数据库的一堆数据,将其排列成文本文件,然后运行GNUPlot脚本来生成图形.我已经完成了所有这些工作,现在我需要做的就是删除我不再需要的文本文件.

我一直在尝试的是从另一个论坛上的另一个主题得到的:

foreach( glob('US_A.2.6.*') as $file )
    {
        unlink($file);
    }

然而,问题是它不起作用.这些文件具有复杂的结束名称:

> US_A.2.6.1.1a.txt
> US_A.2.6.1.2a.txt
> US_A.2.6.1.3a.txt
> US_A.2.6.1.4a.txt
> US_A.2.6.1.5a.txt
> US_A.2.6.1.6a.txt

和更多.

解决方法:

使用getcwd()检查工作目录.如果与文本文件不在同一目录中,则需要指定路径.

另外,尝试回显glob()语句的输出,看看它是否找到了任何文件:

echo $file . PHP_EOL;
unlink($file);

您没有检查unlink()返回值,因此如果文件是不可写的,它可能会以静默方式失败(取决于您的error_reporting级别).

上一篇:c – 文件上的unlink()和remove()之间有什么区别吗?


下一篇:感受野和Anchor box