javascript - 如何使用php从本地目录读取图像并将其显示到网页中

标签 javascript php html

我想在网页左侧显示目录文件夹列表,只有在点击相关文件夹/文件后才在页面右侧显示其内容,如何实现? 我研究了如何从本地目录获取文件夹结构,它运行良好,但在单击相关文件后我无法显示内容。

<ul>
   <li id="li1">
<a href="">
<?php
  $root = 'C:\Users\Public\Pictures';
  $pathLen = strlen($root);
  listFolderFiles($root, 0, strlen($root)); ?>            
</a> 
   </li>
 </ul>

<div class="col-lg-8 col-md-8" style="border: 1px solid">
   <img src="" width="100px" height="100px;">
</div>    

PHP:

  <?php 
    function listFolderFiles($dir){
    $ffs = scandir($dir);

    unset($ffs[array_search('.', $ffs, true)]);
    unset($ffs[array_search('..', $ffs, true)]);

    // prevent empty ordered elements
    if (count($ffs) < 1)
        return;

    echo '<ol>';
    foreach($ffs as $ff){
        echo '<li>'.$ff;
        if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
        echo '</li>';
    }
    echo '</ol>';
    }

    ?>

最佳答案

使用 Base64 编码的图像

首先,像这样显示你的文件名。

<li data-imgpath="C:\Users\Public\Pictures">Image</li>

当用户点击一个文件时,发出一个包含图像路径的 ajax 请求。

<script>
$('li').click(function(){
    var image_path = $(this).data('imgpath');
    $.ajax({
        url : "url to a php script to handle image request.",
        method : 'POST',
        dataType : 'JSON',
        data : {
            image_path : image_path
        },
        success : function(response) {
            $('select your img tag').attr('src', response.image_src);
        }
    });
});
</script>

现在创建一个 PHP 脚本以从图像路径返回图像数据。

<?php
$image_path = $_POST['image_path'];

$image_extension = explode('.', $image_path);

$image_extension = end($image_extension);

$image = base64_encode(file_get_contents($image_path));

$data = ['image_src' => 'data:image/'.$image_extension.';base64,'.$image];

echo json_encode($data);
?>

关于javascript - 如何使用php从本地目录读取图像并将其显示到网页中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51558704/

相关文章:

javascript - n对括号的所有有效组合

php - 在php中获取一周的第一天/最后一天?

php - mysqli where 子句与 php 出现错误

javascript - 防止元素淡入淡出时出现跳跃

javascript - Owl Carousel 2 分页标题不按顺序排列

javascript - JQuery 显示数组中的下一项

php 类返回数组

html - 为什么这个 css 在 MVC 元素中不能按预期工作?

javascript - Highcharts 在导出时添加图像

php - MySQL新加入的查询与子查询花费的时间太长