Codeigniter" file_exists($ filename)"

时间:2012-02-09 20:46:03

标签: file codeigniter path

需要codeigniter的帮助,我认为file_exists用于服务器路径,而不是用于url。但我的图像文件夹与应用程序和系统文件夹相同。在谷歌上找不到任何内容,请帮忙

$url=base_url();
$filename="$url/upload/$id.jpg";
if (file_exists($filename)){
    echo "<li><img src=\"".$url."upload/$id.jpg\" width=\"40\" height=\"40\" /></li>";
}else{
    echo "<li><img src=\"http://www.mydomain.com/haha/image/noimg.png\" width=\"40\" height=\"40\" /></li>";
}

1 个答案:

答案 0 :(得分:47)

Codeigniter始终在index.php上运行,因此所有路径都是相对的。假设upload/index.php处于同一级别,您可以使用以下任何一项:

  • file_exists("upload/$id.jpg")

  • file_exists("./upload/$id.jpg")

  • file_exists(FCPATH."upload/$id.jpg")

FCPATH是Codeigniter设置的常量,它包含index.php的绝对路径。

作为旁注,我在检查文件时更喜欢is_file(),因为file_exists()在目录上返回true。此外,您可能希望查看getimagesize()是否返回FALSE以确保您拥有图片。