0

重複の可能性:
ディレクトリ内の各ファイルのループコード

私は次のコードでこれに到達できると思いましたが、私はこのコードで何か間違っていると思います include($file[$])

<?php
$dir= opendir(".") or die ('Cannot open directory');
$div="<div class=\"left1\">\n";
echo "<div class=\"wrapper\">\n";
for( $i=0; $i<6; $i++){
    while(($file = readdir($dir)) != false){
    if(preg_match("/php$/", $file)){
    echo $div;
    include($file[$i]); // HERE ITS NOT WORKING AS I WANT
    echo "</div>\n";
    }
    }
}
echo "</div>\n";

?>
4

2 に答える 2

3

readdirは実際のファイル名を文字列として返すため、そのファイル名に配列としてアクセスしようとしています。これにより、そのファイル名の1文字だけが抽出されます。

試す:

include($file);

代わりは。それ以外に、opendir / readdirは必要ありません。単に、glob()を使用できます。

$phpfiles = glob('*.php');
foreach($phpfiles as $file) {
    include($file);
}
于 2012-06-21T17:18:29.700 に答える
2

$fileはこの時点では単純な文字列であり、配列ではありません。したがって、の代わりにinclude($file[$i])、単にする必要がありますinclude($file)

while(($file = readdir($dir)) !== false){
  if(preg_match("/php$/", $file)){
      echo $div;
      include($file);
      echo "</div>\n";
   }
}

外側のループ全体forは不要のようです。

于 2012-06-21T17:18:16.877 に答える