我不知道这应该是什么名称。我在下面遇到这个问题。
我正在使用此
$dataDir = dirname(__FILE__).'/thumbnails/';
$rdi = new RecursiveDirectoryIterator( $dataDir );
$it = new RecursiveIteratorIterator($rdi);
<?php foreach($it as $oneThing) { ?>
<?php if (is_file($oneThing)) { ?>
<?php
$parent_info = $it->getFilename();
$temp = explode( '.', $parent_info );
$ext = array_pop( $temp );
$name = implode( '.', $temp );
$filter1 = str_replace("thumbnail"," ",$name);
$filter2 = preg_replace('/[^a-zA]/','_', $filter1);
$dirName = rtrim($filter2, '_');
$dirName2 = preg_replace('/[^a-zA]/',' ', $dirName);
$text_title = ucwords(strtolower($dirName2));
$text_category = ucwords(strtolower($rdi));
?>
<div class="portfolio <?php echo $rdi; ?>" data-cat="<?php echo $rdi; ?>">
<a href="single-gallery.php?imgcat=<?php echo $rdi; ?>&dirname=<?php echo $dirName; ?>">
<div class="portfolio-wrapper">
<img src="<?php echo $oneThing; ?>" alt="" />
<div class="label">
<div class="label-text">
<a class="text-title"><?php echo $text_title; ?></a>
<span class="text-category"><?php echo $text_category; ?></span>
</div>
<div class="label-bg"></div>
</div>
</div>
</a>
</div>
<?php } ?>
<?php } ?>
获取目录和子目录上的图像。但是我无法显示图像。
我在wordpress网站设置了这个。
这是将生成的链接。
<img src="/home/content/10/11383810/html/alteverswp/wp-content/themes/canvas/thumbnails/custom/cr_indian_wells/cr_indian_wellsthumbnail(1).jpg" alt="">
正确显示图像的正确方法可能是什么。
答案 0 :(得分:1)
您使用绝对路径而不是相对路径。这是一个有效的例子:
function directoryScan($dir, $onlyfiles = false, $fullpath = false) {
if (isset($dir) && is_readable($dir)) {
$dlist = Array();
$dir = realpath($dir);
if ($onlyfiles) {
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
} else {
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST);
}
foreach($objects as $entry => $object){
if (!$fullpath) {
$entry = str_replace($dir, '', $entry);
}
$dlist[] = $entry;
}
return $dlist;
}
}
// return contents of ‘Folder’ – Relative Paths and Only Files.
$result = directoryScan('folder', false, true);
答案 1 :(得分:0)
使用$ it-&gt; getType();获得像jpg&#39;。
这样的延伸再一次思考绝对路径&#39; &#39;相对路径&#39;。
例如:
网址http://test/image.jpg
ABSOLUTE C:\xampp\htdocs\test\image.jpg
RELATIVE \test\image.jpg
(何时在\ htdocs中执行scandir)
进入浏览器,使用Firebug查看加载图像的位置。
查看/home/..
之前的部分是否存在错误。
然后你必须改变你的脚本, 生成正确的URL_PATH。
你脚本中最大的错误是: 使用$ it-&gt; getFilename();当你必须使用$ oneThing-&gt; getFilename();
时看这里(第一个例子): http://www.php.net/manual/de/class.recursiveiteratoriterator.php
了解“recursiveiteratoriterator”的方式&#39; 和&#39; splfileobject&#39;在继续之前工作。
希望有所帮助!