I have two include files:
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;
}
?>
The above code snippet goes through a folder and draws all the images therein into stylized div
tags.
Please note here that I get the div blog-slider
drawn, but the images fail. The image path is of this kind:
/opt/lampp/htdocs/my_project/images/my_pic.jpg
2.definitions.php
<?php
$rev_args['images_path'] = dirname(__FILE__) . '/images';
?>
I call them as follows:
<?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>
How can I go about getting the image drawn?
UPDATE
Please nothe that <?= $num; ?>
prints a something like /opt/lampp/htdocs/my_project/images/my_pic.jpg
so:
<img src="$num" class="img-responsive" alt="">
is actually :
<img src="/opt/lampp/htdocs/my_project/images/my_pic.jpg" class="img-responsive" alt="">
behind the scenes.
Without seeing the source of the generated html, the only thing I can see, is that the image paths are probably wrong.
You display the image using:
<img src="$num" class="img-responsive" alt="">
However, you look in the images/
directory of the script path to get them, so instead of just echoing the filenames, you should probably use something like:
<img src="images/$num" class="img-responsive" alt="">
Edit: Based on your comment, you would need something like:
$num = basename($files[$i]);
...
<img src="images/$num" class="img-responsive" alt="">
It is a absolute path problem in your img tag
<?
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;
}
?>
This will produce:
<img src="images/my_pic.jpg" class="img-responsive" alt="">
which it will search the image under your server you can put in front of it http(s)://localhost (servername) if you want to.