【问题标题】:need help recursively rendering images from subfolders in wordpress需要帮助从 wordpress 中的子文件夹递归渲染图像
【发布时间】:2020-08-17 05:31:52
【问题描述】:

我们有一个显示来自 6 个网络摄像头的图像的 Wordpress 网站。它旨在显示第二个最近的图像。 图像按相机、天、小时、分钟上传到 WordPress 网站的文件夹中
该网站保留了最后几个小时的图像。我想生成一个 wordpress 页面,例如显示我们拥有的 camera6 文件夹中的每个图像。

这是上传的文件夹结构 wp-content/uploads/cameras/Camera4/2020-05-02/001/jpg/13/12/00[R][0@0][0].jpg 我希望能够解析 wp-content/uploads/cameras/Camera4 下的文件夹并在单个页面上显示所有图像。每分钟大约有 3 张图像。一个 cron 在每小时 10 点清理文件夹。

如果有帮助的话,这里是显示 6 张最近图像的代码

 $upload_dir = wp_upload_dir();
        $camera_dir_1 = ( $upload_dir['basedir'] . "/cameras/Camera1/$today/001/jpg/$hourMin/$minute");
        $camera_dir_2 = ( $upload_dir['basedir'] . "/cameras/Camera2/$today/001/jpg/$hourMin/$minute");
        $camera_dir_3 = ( $upload_dir['basedir'] . "/cameras/Camera3/$today/001/jpg/$hourMin/$minute");
        $camera_dir_4 = ( $upload_dir['basedir'] . "/cameras/Camera4/$today/001/jpg/$hourMin/$minute");
        $camera_dir_5 = ( $upload_dir['basedir'] . "/cameras/Camera5/$today/001/jpg/$hourMin/$minute");
        $camera_dir_6 = ( $upload_dir['basedir'] . "/cameras/Camera6/$today/001/jpg/$hourMin/$minute");

        $files_array_1 = scandir($camera_dir_1);
        $files_array_2 = scandir($camera_dir_2);
        $files_array_3 = scandir($camera_dir_3);
        $files_array_4 = scandir($camera_dir_4);
        $files_array_5 = scandir($camera_dir_5);
        $files_array_6 = scandir($camera_dir_6);

        $second_most_image_camera_1=get_site_url().'/wp-content/uploads/cameras/Camera1/'.$today.'/001/jpg/'.$hourMin.'/'.$minute.'/'.$files_array_1["2"];
        $second_most_image_camera_2=get_site_url().'/wp-content/uploads/cameras/Camera2/'.$today.'/001/jpg/'.$hourMin.'/'.$minute.'/'.$files_array_2["2"];
        $second_most_image_camera_3=get_site_url().'/wp-content/uploads/cameras/Camera3/'.$today.'/001/jpg/'.$hourMin.'/'.$minute.'/'.$files_array_3["2"];
        $second_most_image_camera_4=get_site_url().'/wp-content/uploads/cameras/Camera4/'.$today.'/001/jpg/'.$hourMin.'/'.$minute.'/'.$files_array_4["2"];
        $second_most_image_camera_5=get_site_url().'/wp-content/uploads/cameras/Camera5/'.$today.'/001/jpg/'.$hourMin.'/'.$minute.'/'.$files_array_5["2"];
        $second_most_image_camera_6=get_site_url().'/wp-content/uploads/cameras/Camera6/'.$today.'/001/jpg/'.$hourMin.'/'.$minute.'/'.$files_array_6["2"];
      ?>

<ul class="home_camera_sum">
<div style="text-align:center;">
 <br><br>
<li><img src="<?php echo $files_array_1; ?>"  target="new" class="image" 
alt="camera images"></li> 
<li><img src="<?php echo $second_most_image_camera_4; ?>"  target="new" class="image" alt="camera image"></li> <li><img src="<?php echo $second_most_image_camera_3; ?>"  target="new" class="image" alt="camera image"></li> <P>
<li><img src="<?php echo $second_most_image_camera_2; ?>"  target="new" class="image" alt="camera image"></li>  <li><img src="<?php echo $second_most_image_camera_1; ?>"  target="new" class="image" alt="camera image"></li> <P>
<li><img src="<?php echo $second_most_image_camera_5; ?>"  target="new" class="image" alt="camera image"></li> <li><img src="<?php echo $second_most_image_camera_6; ?>"  target="new" class="image" alt="camera image"></li>
 </ul>
<div style="text-align:center;">
  <?php`

【问题讨论】:

    标签: php html wordpress


    【解决方案1】:

    我会使用glob (https://www.php.net/manual/en/function.glob.php)。

    它接受一个模式,并返回与该模式匹配的所有文件,例如:

    for ($i=1; $i<=6; $i++) {
        $image_files = glob($upload_dir['basedir'] . '/cameras/Camera' . $i . '/**/*.jpg');
    
        // print all images in folder CameraX
        foreach ($image_files as $filename) {
            echo '<BR>' . $filename;
        }
    }
    

    这应该行得通——或者至少为你指明了正确的方向。

    【讨论】:

    • 感谢您的快速回复,现在测试。我认为您在第 4 行缺少一个 ( ---- - 我已经设法消除了解析错误并显示了页眉和页脚,但还没有看到图像 114thrc.org/test-images
    • 很难知道发生了什么,我的意思主要是glob 应该允许您在没有所有这些循环的情况下获得这些图像。什么东西打印..? $filename 中有什么内容?
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2017-03-21
    • 2021-05-10
    • 2011-05-31
    • 1970-01-01
    相关资源
    最近更新 更多