从PHP中的循环中删除文件


Deleting Files from a Loop in PHP

所以目前我有两个循环在另一个目录中运行(我不知道这是否像禁忌或其他什么:D)但我的目标是,如果一个目录(Pages)中的文件数量比另一个文件夹(Posts)中多,我希望它删除Pages文件夹中相应的文件。Pages文件夹中的所有文件都有编号,每次Posts目录中有一个新的文本文件时,都会在Pages目录中创建一个具有相同编号的相应页面(即,12.txt将创建12.html)

这是我得到的:

<?php
if($postcount<=$pagecount){
 do{
  foreach(glob($pagedir . "*html")as $filename);
  //something in here to remove the .html, calculate what is above the $postcount
  //number, then unlink the files that don't meet the while loop
 }
 while($postcount<=$pagecount);
?>

我仍然在努力把我的头缠在前臂环上,所以也许我的这个环不对,或者我甚至不需要它

我想知道的是,做我在foreach循环下面的评论中所说的最有效的方法是什么?

您可以使用一个函数来比较这两个目录,然后删除不相同的文件。

看看这个链接的功能

您只需要对它进行一点修改,以便它检查目录中的不同文件名,但您要做的是循环遍历返回的数组,然后取消文件的链接。

我建议从第一个目录中创建一个数组。然后运行第二个目录,并使用in_array()来确定它是否在最后一个文件夹中。如果没有,则取消链接()文件。