Выпадающий список php, использующий каждый файл в папке как отдельный связанный <option>
Я пытаюсь создать выпадающий список, используя каждый (видео) файл в каталоге X в качестве отдельной ссылки <option value=""></option>
,
Это моя первая попытка:
<div align="center">
<form name="box">
<select name="select_clip" id="select_clip">
<option value="">---Select Clip---</option>
<?php
$folder = "/volume1/folder/clips";
$allfiles = scandir($ordner);
foreach ($allfiles as $file) {
$fileinfo = pathinfo($folder."/".$file);
$size = ceil(filesize($ordner."/".$file)/1048576);
if ($file != "." && $file != ".." && $file != "_notes" && $file != "@eaDir" && $file != "index.html") {
while($file != NULL){?>
<option value="/*Link to file*/ <?php echo $fileinfo['basename'];?>"><?php echo $fileinfo['filename'];?></option>
<?php
};
};
};
?>
</select>
<input type="button" name="Submit" value="Watch Now!" onClick="window.open(select_clip.value,'newtab'+select_clip.value)">
</form>
</div>
Я знаю, в какой момент моя ошибка, но я не знаю, как ее исправить.
Если я нажму кнопку "Смотреть сейчас", появится новая вкладка (как предложено), но URL на новой вкладке содержит ошибку. Он связывает ссылку правильно, но часть после этого неверна:
<?php%20echo%20$dateininfo[%27basename%27];?>
1 ответ
Решение
Я бы порекомендовал что-то вроде этого:
<?php
if ($handle = opendir('/path/to/files')) {
$ignoredFiles = array('.', '..', '_notes', '@eaDir', 'index.html');
while (false !== ($entry = readdir($handle))) {
if(in_array(pathinfo($entry, PATHINFO_BASENAME), $ignoredFiles)) continue;
echo "<option value=\"LinkToFile " . pathinfo($entry, PATHINFO_BASENAME) . "\">" . pathinfo($entry, PATHINFO_FILENAME) . "</option>";
}
closedir($handle);
}
?>