我有两个包含文件:
1.Draw_images.php
<?
function practice_area_img($img_path)
{
$items = "";
$files = glob($img_path . "/*.*");
for ($i=1; $i<count($files); $i++)
{
$num = $files[$i];
$items .= <<<HTML
<div class="item">
<img src="$num" class="img-responsive" alt="">
</div>
HTML;
}
return $items;
}
?>
上面的代码段通过一个文件夹,并将其中的所有图像绘制到样式化的div
标签中。
请注意,我得到div blog-slider
绘制,但图像失败了。图像路径就是这样:
/opt/lampp/htdocs/my_project/images/my_pic.jpg
2.Definitions.php
<?php
$rev_args['images_path'] = dirname(__FILE__) . '/images';
?>
我称它们为如下:
<?php
include(dirname(__FILE__) . '/definitions.php');
include(dirname(__FILE__) . '/draw_images.php');
<div id="blog-slider" class="owl-carousel owl-theme">
<?= practice_area_img($rev_args['images_path']); ?>
</div>
我该如何绘制图像?
update
请不要 <?= $num; ?>
打印出诸如 /opt/lampp/htdocs/my_project/images/my_pic.jpg
so:
<img src="$num" class="img-responsive" alt="">
实际上是:
<img src="/opt/lampp/htdocs/my_project/images/my_pic.jpg" class="img-responsive" alt="">
幕后。
,没有看到生成的html的来源,我唯一能看到的是图像路径可能是错误的。
您使用:
显示图像<img src="$num" class="img-responsive" alt="">
但是,您在脚本路径的images/
目录中查看以获取它们,因此您不仅可以回荡文件名,还应使用以下内容:
<img src="images/$num" class="img-responsive" alt="">
编辑:根据您的评论,您需要以下内容:
$num = basename($files[$i]);
...
<img src="images/$num" class="img-responsive" alt="">
这是您的IMG标签中的绝对路径问题
<?
function practice_area_img($img_path)
{
$items = "";
$files = glob($img_path . "/*.*");
for ($i=1; $i<count($files); $i++)
{
$num = $files[$i];
// remove absolute path
$relPath = str_replace(dirname(__FILE__)."/", "", $num);
$items .= <<<HTML
<div class="item">
<img src="$relPath" class="img-responsive" alt="">
</div>
HTML;
}
return $items;
}
?>
这将产生:
<img src="images/my_pic.jpg" class="img-responsive" alt="">
它将在您的服务器下搜索您可以放在其前面的图像http(s(://localhost(servername(如果愿意。