我正在使用Codeigniter 2.1.3,我在/ home文件夹中有网站外的图像,无法显示图像。
<img src="<?php echo img('/home/pedro/iagora.jpg');?>" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>
我试过了:
<img src="<?php echo '/home/pedro/iagora.jpg';?>" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>
和
<img src="/home/pedro/iagora.jpg" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>
但这些都不起作用。
答案 0 :(得分:0)
如果文件位于Web根目录之外,则无法通过HTTP正常访问它们。您需要编写一个PHP脚本来为您输出图像:
<img src="/get_image.php?i=iagora.jpg" title="">
/get_image.php
将是检索图像并为您输出图像的PHP文件。 i
参数将是您想要的图像的名称。
该文件看起来像:
<?php
$file_name = $_GET['i'];
$file = '/home/pedro/' . $file_name;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
?>
答案 1 :(得分:0)
我建议你在基础文件夹中创建文件夹“assets”。在“资产”中,您将存储js,css,上传图像和所有其他内容。在这种形式下,您可以更好地组织您的应用程序
之后,您可以使用base_url()加载图像。 例如:
<img src="<?php echo base_url(); ?>assets/your_folder/your_image.jpg" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80" />
答案 2 :(得分:0)
我将脚本文件保存在网站的根目录上,现在正在运行
<img src="<?php echo base_url().'get_image.php?i='.$images_thumb_dir.$project['avatar'];?>" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>
感谢 佩德罗