WordPress中的图像显示问题

时间:2017-05-17 11:17:09

标签: php wordpress

我有以下代码来显示文件夹fname中的图像(upload / 2017/05 / fname)

 [php]
$upload_dir = wp_upload_dir();
$logo_dir = ( $upload_dir['baseurl'] . '/2017/05/fname/' );
echo $logo_dir . '-----<br />';
$images = glob( $logo_dir . "*.PNG" );
foreach( $images as $image ) {
echo "$image";
}
[/php]

但这仅显示https://example.com/jobs/wp-content/uploads/2017/05/fname/ -

等路径

我希望代码能够显示页面中文件夹中的所有图像。

3 个答案:

答案 0 :(得分:0)

请使用,

$upload_dir['basedir']

而不是

$upload_dir['baseurl']

因为baseurl表示目录的URL,basedir表示您的服务器路径。

更改您的代码,然后重试。希望它会奏效。

感谢。

答案 1 :(得分:0)

听起来你需要将标签显示为@jacktheking和@vel说。

通过修复<img/>标记行来更新答案。请注意['basedir']['baseurl']的使用。 URL用于设置src,而dir用于检索文件。 basename()用于将文件名与完整路径分开。

$upload_dir = wp_upload_dir();
$base_url = $upload_dir['baseurl'] . '/2017/05/fname';
$logo_dir = ( $upload_dir['basedir'] . '/2017/05/fname' );
$images = glob( $logo_dir . '/*.png' );

foreach( $images as $image ) {
    echo '<img src="' . $base_url . '/' . basename( $image ) . '" />';
}

答案 2 :(得分:0)

试试这个。

<?php
    $upload_dir = wp_upload_dir();  
    $theme_root = $upload_dir['basedir'].'/2017/05/fname';
    $files_array = glob("$theme_root/*");

    foreach  ($files_array as $key => $img):

         $img =str_replace("/home/example.com/public_html/","https://example.com/",$img);
        $get_icons = '<li><img src="'.$img.'" /></li>';
        echo $get_icons;
    endforeach;

?>

它将返回D:\xampp\htdocs\demowp/wp-content/uploads/2017/2017/05/fname/I-Love-University--150x150.jpg 您应该将D:\xampp\htdocs\demowp/替换为http://yousite.com/