需要帮助从Wordpress中的子文件夹递归渲染图像

问题描述 投票:0回答:1

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

这里是上传的文件夹结构wp-content / uploads / cameras / Camera4 / 2020-05-02 / 001 / jpg / 13/12/00 [R] [0 @ 0] [0] .jpgid希望能够解析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个回答
0
投票

我会使用globhttps://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;
    }
}

这应该起作用-或至少指向正确的方向。

© www.soinside.com 2019 - 2024. All rights reserved.