2017-03-22 19 views
0

カスタムWordPressページテンプレートを作成しました。テンプレート内のフォルダに作成したすべての画像を表示したいとします:mypics。このPHPスクリプトを作成しましたが、機能しません(壊れたリンクが表示されます)。WordPressページ内のフォルダからすべての画像を表示

$base_dir = bloginfo('template_url'); 
    $media_dir = $base_dir.'/mypics/'; 

    $files = glob($media_dir.'{*.jpg,*.png}', GLOB_BRACE); 
    foreach ($files as $image){ 
     echo '<img src="'.$media_dir.$image.'" />'; 
    }; 

私は助けていただきありがとうございます!

+0

'$ files'配列は画像の完全なパスを返すはずです。' $ media_dir'の前に '$ image'パスを置く必要はありません。 – Terry

+0

私は「'.$image.'」というエコーを試みました。それは動作しません – anabv

答えて

1

コメントにTerryが指摘したように、$filesアレイにはファイルへの完全なサーバーパスが含まれている必要があります。ただし、ドメイン相対パスが必要なので、サーバーパスを削除する必要があります。以下にコードを変更してみてください:

$base_dir = bloginfo('template_url'); 
$media_dir = $base_dir.'/mypics/'; 

$files = glob($media_dir.'{*.jpg,*.png}', GLOB_BRACE); 
foreach ($files as $image){ 
    echo '<img src="'.$media_dir.basename($image).'" />'; 
}; 

私は、ファイルの名前だけを取得するためにbasenameを使用し、あなたのディレクトリにそれを連結しています。

上記がうまくいかない場合は、$media_dirの値が正しいことを確認してください。

+0

それは動作しません、私は$ media_dirを印刷し、それは正しいパスを示しています。 – anabv

関連する問題