【问题标题】:php function file_exists with condeigniterphp 函数 file_exists 与 codeigniter
【发布时间】:2013-04-18 10:30:49
【问题描述】:

我正在使用 codeigniter,我想显示一个显示他的个人资料图片的用户页面。当用户上传个人资料图片时,它将获得与用户名相同的名称(旧的个人资料图片将被覆盖)。如果他没有上传个人资料图片,则会显示问号图片。我使用 file_exists 函数,但它每次都返回 false。

$filename = base_url().'images/userimg/'.$this->session->userdata('username');

if(file_exists($filename)){
echo '<img src="'.$filename.'" width="300" height="300"  /><br/>';
}
else { 
echo '<img src="'.base_url().'images/no_image.jpg" width="300" height="300"  /><br/>';  
}

【问题讨论】:

  • 可能是因为$filename 没有.jpg 之类的扩展名
  • 您可以使用 FCPATH 代替 base_url 来检查图像的真实路径而不是 url 路径..
  • 你也应该发布存储图片的代码
  • echo $filename 看看打印的路径是什么。
  • 它可以在没有扩展名的情况下工作,并且 $filename 的路径是正确的,如果我删除 if 和 else 语句,则会显示正确的个人资料图片。这就是为什么我不知道如何解决这个问题。

标签: php codeigniter file-io user-profile


【解决方案1】:

把你的代码改成这样:

$filename = './images/userimg/'.$this->session->userdata('username');

【讨论】:

    【解决方案2】:

    您的问题可能是由于使用或 url 而不是本地服务器路径引起的。配置文件中的 base_url 包含一个 URL,并且 file_exists 函数应该使用完整的本地路径 - 您可以使用 FCPATH(如 Svetlio 建议的)或任何其他方式。虽然 file_exists 应该与 URL 一起使用,但我认为它会比完整路径更麻烦。

    【讨论】:

      猜你喜欢
      • 2012-03-02
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 2012-12-06
      • 2012-08-17
      • 1970-01-01
      相关资源
      最近更新 更多