0

したがって、現在、別のループで2つのループが実行されています(これがタブーなのかどうかはわかりません:D)しかし、私が目指しているのは、ディレクトリ(ページ)内のファイルの数が別のディレクトリより多い場合(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 ループに頭を悩ませようとしているので、おそらく私が持っているものは正しくないか、必要さえありません。

私が知りたいのは、foreach ループの下のコメントで私が言ったことを実行する最も効率的な方法は何ですか?

4

2 に答える 2

0

最初のディレクトリから配列を作成することをお勧めします。次に、2番目のディレクトリを実行し、in_array()を使用して、それが最後のフォルダにあるかどうかを確認します。そうでない場合は、ファイルのlink()を解除します。

于 2012-08-20T20:34:29.107 に答える
0

関数を使用して 2 つのディレクトリを比較し、同じでないファイルを削除するだけです。

このリンクで関数を見てください

ディレクトリ内の異なるファイル名をチェックするように少し変更する必要がありますが、その後、返された配列をループして、ファイルのリンクを解除するだけです。

于 2012-08-20T20:19:46.407 に答える