2015-01-12 55 views
0

对不起,如果这已被问及,找不到任何东西。指定如何使用PHP打开特定的文件类型

我需要一个代码来强制打开某些文件类型。

例如,我有一个Apache目录列表,显示一堆.mp4文件。我有一个自定义模板设置,并在页面上有一个iframe。

我想要的是,只有.mp4文件在iframe中打开,但所有其他扩展名都能正常打开。

我尝试使用简单:base target =“iframe_content” 但这会使每个链接在iframe中打开。

在我的所有导航URL上指定:target =“_ parent” 不是一个选项,因为我需要人们能够浏览列表中的文件夹,并通常在列表中打开其他文件类型。

我在想我需要某种If/Else语句,但我无法弄清楚如何去做。

对不起,如果这是一个相当明显的答案,我在PHP有点新奇。

感谢

+0

您是否尝试过任何操作或希望我们为您制作代码? –

+0

对不起,我不得不编辑帖子,以显示我试过的代码(新的在这里,不知道如何正确显示代码) – QBcrusher

回答

1

你只需要通过你的文件进行迭代,并检查,是扩展mp4与否。如果是,则在iframe中打开它,如果不是,则正常打开它:

$dir = '.'; //The dir what you want to list 
$dirContent = scandir($dir); 
foreach ($dirContent as $entry) { 
    if (!in_array($entry, array('.', '..')) && !is_dir($entry)) { 
     $pathInfo = pathinfo($entry); 
     if ($pathInfo['extension'] == 'mp4') { 
      //Open in iframe where the id of iframe is: myIframe 
      ?> 
      <a href="<?php echo $entry; ?>" target="myIframe"><?php echo $entry; ?></a><br /> 
      <?php 
     } else { 
      //Open normally 
      ?> 

      <a href="<?php echo $entry; ?>"><?php echo $entry; ?></a><br /> 
      <?php 
     } 
    } 
} 
+0

嗯...我似乎得到一个错误(顺便说一句,你有一个错误的“目标” (警告:在线9): [phpBB调试] PHP警告:在文件[redacted]行158:scandir([redacted]):未能打开dir:未实现 [phpBB调试] PHP警告:在线158:scandir():(errno 2):没有这样的文件或目录 [phpBB调试] PHP警告:在文件[redacted]在线159:为foreach提供的无效参数() – QBcrusher

+0

你为'$ dir'? – vaso123

+0

好吧,这是我的错.....我得到它停止显示一个错误,但现在它显示我的文件/文件夹在指定的目录,在我当前(格式)的文件列表的顶部的无格式列表。如果您从主目录中单击一个,则只需在新选项卡中打开...如果您从目录中的子文件夹中单击它们,则它会断开连接 – QBcrusher

相关问题