如何使用Codeigniter php框架显示图像?

时间:2011-04-13 23:30:24

标签: php html codeigniter

如何使用Codeigniter php框架显示图像?

我想从images内的views文件夹中获取图片。

我在views个php文件中使用了这段代码:

<img border="0" src="images/hed_05.jpg" width="61" height="133">

但它没有用。

4 个答案:

答案 0 :(得分:21)

图片,css,javascript,pdfs,xml ......任何允许直接访问 的内容都不应该存在于您的应用程序目录中。你可以这样做,但你真的不应该这样做。在目录的根目录下为这些文件创建一个新文件夹,不应将它们混合到您的应用程序中,例如:在views文件夹中。

  1. 有可能,你正在使用.htaccess文件,它只允许通过http访问某些目录。出于安全原因,这非常好,您希望停止任何直接访问控制器和模型的尝试。这也是我们检查大多数文件顶部是否定义BASEPATH的原因,以及exit('No direct script access.')是否已定义。
  2. 要获取这些资源(js / css / images)的正确路径,您不能使用相对路径,因为我们没有使用普通的目录结构。网址/users/login未加载目录/users/login中的文件,它可能甚至不存在。这些只是uri段,引导程序用它来知道要使用哪个类,方法和参数。
  3. 要获取正确的路径,请使用正斜杠(假设您的应用和资源位于根目录,而不是子目录中),如下所示:

    <img src="/images/myimage.jpg" />
    

    或者你最好的选择,使用绝对网址:

    // References your $config['base_url']
    <img src="<?php echo site_url('images/myimage.jpg'); ?>" />
    

    相当于:

    <img src="http://mydomain.com/images/myimage.jpg" />
    

    CI中内置了帮助程序,您也可以选择使用它们,但这真的是您需要知道的。

答案 1 :(得分:9)

请参阅CI User Guide/HTML Helper img()标记:

echo img('images/picture.jpg');
// gives <img src="http://site.com/images/picture.jpg" />

答案 2 :(得分:2)

您也可以在base href

中设置<head>

<base href="<?php echo site_url(); ?>" />

现在任何图片,css文件和其他资源都与您的基本网址相关。

<base href="http://site.com/" />

<img src="images/foo.jpg" />

生效

<img src="http://site.com/images/foo.jpg" />

但是,您的图片应位于应用程序文件夹之外(例如/images)。

答案 3 :(得分:1)

src属性中的路径可能不正确。也许试试

<img border="0" src="/images/hed_05.jpg" width="61" height="133">