Php 打开文件目录的问题
我遇到了一些应该做一些事情的代码问题。首先,它应该扫描一些文件路径以获得所有目录。然后,它应该遍历目录,如果目录包含一个图像文件,即jpeg,因为只有jpeg可以上传到任何给定的文件夹,那么该目录将在表中打印出来。如果目录不包含图像,则不会打印出目录。注意,我要打印的目录只包含图像。错误一定是在我挑选文件的过程中发生的,也就是说,我使用了原生php目录函数。但我不确定我到底是如何滥用它们的。以下是相关代码:Php 打开文件目录的问题,php,file,directory,Php,File,Directory,我遇到了一些应该做一些事情的代码问题。首先,它应该扫描一些文件路径以获得所有目录。然后,它应该遍历目录,如果目录包含一个图像文件,即jpeg,因为只有jpeg可以上传到任何给定的文件夹,那么该目录将在表中打印出来。如果目录不包含图像,则不会打印出目录。注意,我要打印的目录只包含图像。错误一定是在我挑选文件的过程中发生的,也就是说,我使用了原生php目录函数。但我不确定我到底是如何滥用它们的。以下是相关代码: public function FilesAsDir ($filepath) {
public function FilesAsDir ($filepath) {
$files = array();
$files = scandir($filepath);
$j = 1; //init j value
$inc = 1; //init inc value
echo "<table id='overflow' class='overflowClass'><tr>"; //init table
foreach ($files as $handle) {
$open = opendir($handle);
$read = readdir($open);
if (imagecreatefromjpeg($read)) {
echo "<td id='loadTable" . $inc . "'><h1 id='handle " . $j . "'>$handle</h1><span id='options" . $inc . "'></span></td>";
if (($j % 6) == 0 ){
echo "</tr><tr>";
}//end $j mod 6 if
}//end imagecreate if
else {
echo "<td id='loadTable" . $inc . "'><h1 id='handle " . $j . "'>error</h1><span id='options" . $inc . "'></span></td>";
}//end else
$j ++;
$inc++;
}//end foreach
echo "</table>"; //close the table
}//end FilesAsDirectory
如果在1行之后覆盖$files,那么初始化$files到数组有什么用?如果$j和$inc始终保持相同的价值,那么拥有$j和$inc有什么用?注意:您并没有结束最后一个循环,也要注意:在您的案例中,readdir没有在循环中使用。因此,在您的案例中,它总是只返回每个目录的第一个文件。这很可能永远是。或您需要继续执行readdir,直到扫描了该目录中的所有文件。您可以使用:while false!==$entry=readdir$handleI不理解为什么我需要一个循环来遍历readdir,因为我正在给它提供的参数已经来自foreach循环,所以我已经在遍历目录中的所有文件,一次遍历一个。我错了吗?