Php 如何使列表目录中的文件夹显示为按钮,文件显示为可下载链接?

Php 如何使列表目录中的文件夹显示为按钮,文件显示为可下载链接?,php,Php,我正在开发一个文件管理系统,其中列出了我的目录和文件。我需要能够使目录和子目录成为一个按钮,文件成为一个href可下载链接。我遇到的问题是,当我检查列表以查看是否存在文件时,它会将所有列表项更改为可下载链接,而不仅仅是文件 这是我的代码的一部分,用于从我的目录输出带有文件名和文件夹名的表。设置的方式是,如果文件不存在,则显示按钮;如果文件存在,则显示要下载的href。它将输出文件夹和文件的href,而不仅仅是文件。如果它是一个目录或子目录,我如何让它输出一个按钮,并使文件成为可下载的href

我正在开发一个文件管理系统,其中列出了我的目录和文件。我需要能够使目录和子目录成为一个按钮,文件成为一个href可下载链接。我遇到的问题是,当我检查列表以查看是否存在文件时,它会将所有列表项更改为可下载链接,而不仅仅是文件

这是我的代码的一部分,用于从我的目录输出带有文件名和文件夹名的表。设置的方式是,如果文件不存在,则显示按钮;如果文件存在,则显示要下载的href。它将输出文件夹和文件的href,而不仅仅是文件。如果它是一个目录或子目录,我如何让它输出一个按钮,并使文件成为可下载的href

            if (file_exists($_POST["folder_name"])) {

                                    $output .='

        <tr>

        <td><a href ='.$path. ' download  id ="subfolder" data-name="'.$file['name'].'">' .basename($file['name']). '</a></td>
        <td>'.date('M j Y g:i A', $file['lastmod']).'</td>
        <td><button type="button" name="delete" data-name="'.$file['name'].'" class="delete btn btn-warning btn-xs">Delete</button></td>
        <td><button type="button" name="upload" data-name="'.$file['name'].'" class="upload btn btn-warning btn-xs">Upload</button></td>
        </tr>';       
            }
if(文件存在($\u POST[“文件夹名称”])){
$output.='
.date('M j Y g:i A',$file['lastmod'])。'
删除
上传
';       
}
使用is_dir()查看项是否为目录。另外,请确保您实际上指的是$\u POST,因为它来自用户,而不是文件系统。在脚本的其他地方,使用$file

if(is_dir($_POST["folder_name"])) {
  $output .=' ... folder html ... ';
} else {
  $output .=' ... file html ... ';
}
假设用户在$\u POST中传递文件夹名称,您可能会遇到如下情况:

foreach(scandir($_POST['folder_name']) as $file) 
{
    if(is_dir($file)) {
      $output .=' ... folder html ... ';
    } else {
      $output .=' ... file html ... ';
    }
}

还请注意,这是一个巨大的安全问题,因为您允许用户在文件系统上指定任意文件夹。

使用maybe?我正在使用$\u POST进行用户操作。我在ready上加载目录,然后当用户单击directory按钮时,我将用户发送到目录中,并且表根据用户操作进行更新。我用了$is_dir,问题是,我的目录中有文件和子目录,因此当$is_dir或$file_存在时,当我需要将目录和子目录设置为按钮,将文件设置为href时,它会使我的表成为一个按钮,这样用户可以在单击文件时下载该文件,或者在打开文件夹时进一步进入该目录点击。@ZacharyTaylor真的不清楚你在这里干什么。请编辑您的问题以包含您实际阅读目录内容的代码。“当我需要将目录和子目录设置为按钮,将文件设置为href”-因此,请检查您输出的每个目录条目,无论是文件还是目录-这有什么问题?