【发布时间】:2013-03-07 05:05:14
【问题描述】:
我是一名新的 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!";
}
我收到以下错误:
注意:第 19 行 D:\xampp\htdocs\PHP_practice\read_lines_of_files.php 中的数组到字符串转换
警告:fopen(directory/Array): failed to open stream: No such file or directory in D:\xampp\htdocs\PHP_practice\read_lines_of_files.php on line 21
警告:feof() 期望参数 1 是资源,布尔值在 D:\xampp\htdocs\PHP_practice\read_lines_of_files.php 第 22 行给出
【问题讨论】:
-
您在哪方面需要帮助?
-
脚本的哪一部分失败了?
-
$value 是一个数组,因此请检查您使用 print_r($dir_files); 得到的结果
-
print_r($dir_files) 结果:数组 ( [0] => 数组 ( ) [1] => file1.txt [2] => file2.txt )