PHP如何从文件夹中访问文件以及如何下载它们

时间:2017-10-30 06:12:11

标签: php

<?php
$dir_path = "./folder/";
if(is_dir($dir_path))
{
    $files = opendir($dir_path);
    {
        if($files)
        {
            while (($file_name = readdir($files)) !== FALSE) 
            {
                 if ($file_name != '.' && $file_name != '..'){
                echo "<a href=".$file_name.">".$file_name."</a><br>";
                #echo "<img src=".$file_name.">";
            }

            }
        }
    }
}

?>

从目录中返回文件和目录的数组。 ...我想使用foreach轻松访问某个目录中的数据。我想出了以下内容: 但它不是下载

它是这样说的 找不到对象!

1 个答案:

答案 0 :(得分:0)

在这些情况下,首先需要获取目录文件,如下所示:

foreach($files as $key => $value):
    $path_info = pathinfo($value); //RETURN FILE EXTENTION
    ?>
    <a href="DIRECTORY_PATH<?php echo $value; ?>" target="_blank"><?php echo $value; ?>
    <?php
endforeach;

为什么我们使用unset,这些代码删除。和..来自$ files变量,你只有文件名。

现在您可以使用此方法显示文件:

<button href="PHPSAMPLEFILE.PHP?file=<?php echo base64_encode ($value); ?>"><?php echo 'DELETE'; ?></button>

如果你想删除一个文件,可以在你的foreach中添加新按钮,如下所示:

$file = base64_decode($_GET['file']);
$path = './DIRECTORY_PATH/'.$file;
unlink($path);

并在您的PHP文件中:

{{1}}