我在php中编写一个程序,通过媒体目录查找子目录,如果子目录中至少有一个具有指定文件扩展名的文件,则会为子目录打印一个隐藏/显示链接。如果单击隐藏/显示链接,将显示具有指定扩展名的文件的链接。我的代码大部分都有效,但只要找到包含指定文件扩展名并打印的子文件夹,就会打印出该子文件夹之后找到的所有文件夹,无论它们是否包含我要查找的文件。这会导致打印出一个隐藏/显示链接,当我点击它时不会做任何事情。我认为这可能与未能重置我的$content
变量有关,但如果我使用unset()
或将变量重置为零,它仍然无效。这是我的代码:
foreach($files as $folder){
//Looks for subdirectory in the wifi folder
//and checks for video files before proceeding
if(sizeof( $folder ) > 0) {
foreach (glob("../www/media/" . $folder . "/*", GLOB_BRACE) as $fileExt) {
$fileExtLC = pathinfo( strtolower($fileExt), PATHINFO_EXTENSION );
if($fileExtLC === "mp4" || $fileExtLC === "mov" || $fileExtLC === "3gp") {
$content = '1';
break;
}
}
if($content === '1'){
//print show/hide link for subdirectory here
//Search through subdirectories in media directory for
//video files and print links to screen
$direcPath2 = '../www/media/' . $folder .'/';
$dir_handle2 = @opendir($direcPath2) or die("Unable to open " . $direcPath2);
while($f2 = readdir($dir_handle2)){
$filesExten2 = pathinfo( strtolower($f2), PATHINFO_EXTENSION );
if($filesExten2 == "mov" || $filesExten2 == "mp4" || $filesExten2 == "3gp") {
//print link to files here
}
}
closedir($dir_handle2);
}
}
}