2015-01-12 52 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

相關問題