私は新しい PHP 開発者で、PHP でファイルを扱い始めたばかりです。ディレクトリ内のtxtファイルの数を数え、それらの名前を配列に保存し、ループを使用して各ファイルの合計行を表示する次のコードがあります! ここにコードがあります。私が間違っているところを助けてください!
$dir = opendir('directory/');
$num_files = 0;
$dir_files[] = array();
while (false !== ($file = readdir($dir))){
if (!in_array($file, array('.', '..','Thumbs.db')) and !is_dir($file)){
$num_files++;
echo $file;
array_push($dir_files,$file);
echo "<br />";
}
}
echo "--------------------------------------<br />";
echo "Number of files in this directory: ".$num_files."<br />";
echo "--------------------------------------<br />";
foreach($dir_files as $dir_file=>$value){
$file='directory/'.$value;
$linecount = 0;
$handle = fopen($file, "r");
while(!feof($handle)){
$line = fgets($handle);
$linecount++;
}
fclose($handle);
echo "File $file has $linecount lines!";
}
次のエラーが表示されます。
注意: D:\xampp\htdocs\PHP_practice\read_lines_of_files.php の 19 行目の配列から文字列への変換
警告: fopen(ディレクトリ/配列): ストリームを開くことができませんでした: 21 行目の D:\xampp\htdocs\PHP_practice\read_lines_of_files.php にそのようなファイルまたはディレクトリはありません
警告: feof() は、パラメーター 1 がリソースであると想定しており、22 行目の D:\xampp\htdocs\PHP_practice\read_lines_of_files.php で指定されたブール値です。