Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php:基于用户搜索文件夹';输入和显示内容_Php_Search - Fatal编程技术网

使用php:基于用户搜索文件夹';输入和显示内容

使用php:基于用户搜索文件夹';输入和显示内容,php,search,Php,Search,我们有一个文件夹结构,每个文件夹中都有pdf文档。文件夹和内容每天都在变化,数量太多,无法简单列出。我们想让用户能够输入文件夹名称,从而在搜索的文件夹中接收指向PDF的超链接列表 我们尝试了glob(),可以显示特定文件夹的tge内容,但无法找到如何搜索用户输入的文件夹 非常感谢您的指点。我认为最好的方法是: 1-使用php创建一个页面,您将使用AJAX访问该页面,以便用户在键入文件夹名称时获得帮助。 如本例中的名称: 2-然后我们将创建一个scandir函数,该函数将获取所有子目录并将其添加

我们有一个文件夹结构,每个文件夹中都有pdf文档。文件夹和内容每天都在变化,数量太多,无法简单列出。我们想让用户能够输入文件夹名称,从而在搜索的文件夹中接收指向PDF的超链接列表

我们尝试了glob(),可以显示特定文件夹的tge内容,但无法找到如何搜索用户输入的文件夹


非常感谢您的指点。

我认为最好的方法是:

1-使用php创建一个页面,您将使用AJAX访问该页面,以便用户在键入文件夹名称时获得帮助。 如本例中的名称:

2-然后我们将创建一个scandir函数,该函数将获取所有子目录并将其添加到数组中,该函数将返回给用户,并带有指向它的链接

3-在用户单击(选择目录)时,您将传递保存文件夹名称的$\u GET或$\u POST参数

4-然后您需要将代码编写为:

$path=DIR。“目录/”$_获取['folder_name']

5-在glob中使用$path变量,打开文件夹并列出其中的所有项目

别忘了做if/else语句,检查这个文件夹是否存在,用户是否在正确的文件夹中,否则发送到错误页面。。。创建安全的网站=D

希望有帮助()

我将在这里添加注释代码,以便于查看=D

<form method="get" action="" id="link">
    <input type="text" onkeyup="generate_link(this.value)">
    <input type="submit">
</form>
<script>
function generate_link(value) {
    var form = document.getElementById('link');
    form.action = "index.php?folder=" + value;
}
</script>

函数生成链接(值){
var form=document.getElementById('link');
form.action=“index.php”folder=“+值;
}

您好,谢谢您的帮助。我不明白第二步。我们不希望为用户提供要单击的子目录列表。如果用户在搜索框中输入a,我们希望显示文件夹a的内容,与B、C、D相同etc@AnjamSohail更简单的是so=)函数生成链接(value){var form=document.getElementById('link');form.action=“index.php”folder=“+value;}创建一个带有输入的表单。当用户写入内容时,javascript将生成指向页面的链接,如$\u GET['folder']=文件夹名。因此,您需要做的就是获取这个GET参数并将其添加到目录路径。