在PHP中从循环中删除文件

时间:2012-08-20 20:09:10

标签: php loops foreach

所以目前我有两个循环在另一个循环中运行(我不知道这是否像禁忌或其他东西:D)但我的目标是,如果目录(Pages)中的文件数量超过在另一个目录(帖子)中,我希望它删除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循环,所以也许我的那个不对,或者我甚至不需要它。

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

2 个答案:

答案 0 :(得分:0)

您可以使用函数比较2个目录,然后只删除不同的文件。

查看this link

处的功能

您只需稍微修改一下,以便检查目录中的不同文件名,但您要做的是循环返回的数组,并取消链接文件。

答案 1 :(得分:0)

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