Определите, как определенные типы файлов открываются в PHP

0

извините, если это уже было задано, ничего не удалось найти.

Мне нужен код, который заставит открыть определенные типы файлов.

Например, у меня есть список каталогов Apache, в котором отображается куча файлов.mp4. У меня есть настраиваемый шаблон с ним, и у меня есть iframe на странице.

Я хочу, чтобы в iframe открывались только файлы.mp4, но чтобы все остальные расширения открывались нормально.

Я попытался использовать простой: base target = "iframe_content", но это сделает КАЖДУЮ ссылку открытой в iframe.

Указание: target = "_ parent" на всех моих URL-адресах навигации не является вариантом, потому что мне нужно, чтобы люди могли перемещаться по папкам в листинге, а также открывать другие типы файлов в списке обычно.

Я думаю, что мне нужно какое-то выражение If/Else, но я не могу понять, как это сделать.

Извините, если это довольно очевидный ответ, я немного newb-ish на PHP.

благодаря

  • 0
    Вы что-нибудь пробовали или хотите, чтобы мы сделали код для вас?
  • 0
    извините, мне пришлось отредактировать пост, чтобы показать коды, которые я пробовал (новенький здесь и не уверен, как правильно отображать коды)
Теги:
iframe

1 ответ

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
    хммм ... кажется, я получаю сообщение об ошибке (кстати, у вас есть опечатка в "target" в строке 9): [phpBB Debug] PHP Предупреждение: в файле [отредактировано] в строке 158: scandir ([отредактировано]): не удалось открыть dir: не реализовано [phpBB Debug] Предупреждение PHP: в файле [отредактировано] в строке 158: scandir (): (errno 2): нет такого файла или каталога [phpBB Debug] Предупреждение PHP: в файле [отредактировано] включено строка 159: указан неверный аргумент для foreach ()
  • 0
    Что вы установили для $dir ?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню