0

我正在用 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);  
    }    
  }                                                 
}                                  
4

0 回答 0