【发布时间】:2014-02-12 16:30:46
【问题描述】:
我的脚本指向一个存储图像的文件夹。
我想检索图像的文件名和路径名,以便在调用时加载我的图像(参见下面的 html/php 代码)。
我尝试了以下方法,但出现错误:
Failed to open stream: Permission denied
在这行代码$page = file_get_contents($fileinfo->getPathname());
PHP
public function action_mybook($page = '') {
FB::log($this->request->param('id1'));
$this->template->content = View :: factory('mybook/default');
// give me a list of all files in folder images/mybook_images
$dir = new DirectoryIterator('images/mybook/');
$this->template->content->pages = array('.$dir.');
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
$pages[] = $fileinfo->getFilename();
$page = file_get_contents($fileinfo->getPathname());
}
}
}
HTML/PHP
<div id="book">
<!-- Next button -->
<div ignore="1" class="next-button"></div>
<!-- Previous button -->
<div ignore="1" class="previous-button"></div>
<?php
foreach ($pages as $page) {
echo '<div><img src="'.$page.'" /></div>';
}
?>
</div>
如果我注释掉 $page = file_get_contents($fileinfo->getPathname()); 行并且没有出现错误,并且图像的 div 已创建,但它显示“无法加载给定的 url”
使用echo '<img src="myimage.png">' it displays the image手动加载图片
【问题讨论】:
-
您的图片似乎有权限问题。
-
你真的要读取图像代码到这个变量吗?
$page = file_get_contents($fileinfo->getPathname());你只需要文件的路径,$fileinfo->getPathname()