【问题标题】:file_exists method are not working in ci?file_exists 方法在 ci 中不起作用?
【发布时间】:2017-11-17 15:14:13
【问题描述】:

代码:

<?php 
    $filename = FCPATH.'resources/img/college_logo/'.trim($fetch['college_name']).'.jpg';
    if (file_exists($filename)) 
    {
?>
        <img src="<?php echo $filename; ?>">
<?php 
    }
    else
    {
?>
        <img src="<?php echo base_url(); ?>resources/img/college_logo/logo_not.jpg">
<?php       
    }
?>

我是 codeigniter 的新手,如果图像存在,我想显示图像,否则显示未找到徽标的图像,但现在只显示未找到的徽标。当我回显 $filename 时,它​​会在我将路径放入 url 时显示图像路径,然后它会显示图像,但在这里它对我不起作用。那么,我该如何解决这个问题?请帮忙。

谢谢

【问题讨论】:

  • $filename 是绝对的HTTP URL?
  • 确保 file_exists() 需要使用硬盘驱动器上的文件路径,而不是 URL
  • 如果我使用 $filename ='localhost/collegescan_ci/resources/img/college_logo/…';然后它显示我的标志找不到为什么?
  • @omkara 可能在本地路径中不存在。
  • 如果你想使用URL的file_exists你需要启用allow-url-fopen

标签: php codeigniter


【解决方案1】:

问题是因为如果找到文件,您正在使用文件系统路径。您应该使用 URL 而不是绝对系统路径在浏览器中显示图像。

<?php 
$filename = 'resources/img/college_logo/'.trim($fetch['college_name']).'.jpg';
if (file_exists(FCPATH.$filename)) {
?>
<img src="<?php echo base_url($filename); ?>">
<?php 
} else {
?>
<img src="<?php echo base_url('resources/img/college_logo/logo_not.jpg'); ?>">
<?php       
}
?>

【讨论】:

  • 谢谢@Tpojka
猜你喜欢
  • 2017-05-14
  • 2017-03-11
  • 2012-07-08
  • 2011-11-05
  • 2014-08-05
  • 2015-11-09
  • 2010-10-31
  • 2010-11-20
  • 1970-01-01
相关资源
最近更新 更多