dongxian4531 2017-10-29 22:12
浏览 108
已采纳

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.">";
            }

            }
        }
    }
}

?>

Returns an array of files and directories from the directory . ... I wanted to easely access data in a certain directory using foreach. I came up with the following: but it is not download

it say like this Object not found!

  • 写回答

1条回答 默认 最新

  • dongzi5673 2017-10-29 22:22
    关注

    In these cases first you need get files of directory like following:

    $dir    = './FILE_FOLDER_NAME';
    $files = scandir($dir);
    unset($files[0]);
    unset($files[1]);
    

    Why we used unset, these code remove . and .. from $files variable and you have just file names.

    Now you can show files with this approach:

    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;
    

    If you want to delete a file can add new button to your foreach like this:

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

    and in your PHP file:

    $file = base64_decode($_GET['file']);
    $path = './DIRECTORY_PATH/'.$file;
    unlink($path);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部