情况就是这样:我有4个文件夹,里面各有一堆文件。
我正在研究Php中的文件操作。 我想创建一个动态表单,在其中选择一个文件夹,用另一个下拉列表填充该文件夹中的文件列表。
这是表单的第一部分,用户可以在其中选择文件夹:
<select name="origin">
<option value="folder">Folder</option>
<option value="folder2">Folder2</option>
<option value="folder3">Folder3</option>
<option value="folder4">Folder4</option>
</select>
如何创建其他下拉列表?
非常感谢!
答案 0 :(得分:2)
你需要两件事:
试试这个,随时问我解释:
listfiles.php
$dir = $_GET["dir"];
$files = scandir($dir);
// Prepare the select box to echo
echo "<select name=\"files\">";
foreach ($files as $file)
{
// Return files only
if ( is_file($dir. $file) )
echo "<option value=\"$file\">$file</option>";
}
echo "</select>";
listfiles.html
<select id="folder" name="origin">
<option value="C:\">C:\</option>
<option value="D:\">D:\</option>
</select>
<div id="files"></div>
<script type="text/javascript">
$(document).ready(function()
{
//Bind a change event to the folder selector
$("#folder").change(function()
{
var dir = $(this).val();
$.get("listfiles.php", {"dir":dir}, function(response){
//Show the files
$("#files").html(response);
});
});
});
</script>
要使脚本生效,应在文件夹的选择框中提供完整且有效的文件夹名称。
答案 1 :(得分:0)
使用jQuery(或者只是常规的javascript),你可以将一个函数绑定到下拉列表中的change事件。然后使用AJAX调用服务器上的文件,并返回包含所有文件的JSON格式的字符串,并从中创建一个下拉列表。要获取所有文件,您可以使用PHP函数scandir。
答案 2 :(得分:0)
此过程需要四个步骤:
<select>
。<option>
元素。