CI - img功能不起作用

时间:2015-11-09 06:10:35

标签: php html codeigniter

这是我第一次使用CI,当我尝试使用img()时,它无效。当我查看页面资源时,我发现调用图像的代码显示为<img src="http://::1/lat2/asset/images/ci_logo2.gif" alt=""/>我注意到主持人不应该::1而是localhost。这就是为什么没有显示图像。那么,如何解决?

这是我放在controllers文件夹中的c_view.php:

<?php
class c_view extends CI_Controller{
    function img(){
        $data["judulapp"]="Menampilkan Gambar Dengan img()";
        $this->load->view("v_cview_img",$data);
    }
}
?>

这是v_cview_img.php我放置了views文件夹:

<html>
<head>
    <title><?=$judulapp;?></title>
</head>
<body>
    <h2><?=$judulapp;?></h2>
    echo img("asset/images/ci_logo2.gif")
    <br />
    <?=img("asset/images/ci_logo2.gif");?>
    <hr />
    <?=img("http://l.yimg.com/a/i/ww/met/unsupprtd_brwsr/yahoo_logo_id_083109.gif");?>
    <hr />
    <pre>
    $myimage=array(
        "src"=>"asset/images/ci_logo2.gif"
        ,"alt"=>"Logo CodeIgniter - Api menyala!"
        ,'width' => '200'
        ,'height' => '200'
        ,'title' => 'Logo CodeIgniter'
        );
    echo img($myimage)
    </pre>
    <?
    $myimage=array(
        "src"=>"asset/images/ci_logo2.gif"
        ,"alt"=>"Logo CodeIgniter - Api menyala!"
        ,'width' => '200'
        ,'height' => '200'
        ,'title' => 'Logo CodeIgniter'
        );
    echo img($myimage);
    ?>
    <br />
</body>
</html>

3 个答案:

答案 0 :(得分:0)

如果您要执行此操作,则必须创建自定义URL Helper

在application / helpers文件夹中,创建一个名为My_url_helper.php的文件和此代码。

<?php
function theme_url($uri)
{
    $CI =& get_instance();
    return $CI->config->base_url('app/themes/'.$CI->config->item('theme').'/'.$uri);
}

function img($uri, $tag=false)
{
    if($tag)
    {
        return '<img src="'.theme_url('assets/images/'.$uri).'" alt="'.$tag.'">';// path where your image is stored.
    }
    else
    {
        return theme_url('assets/images/'.$uri);
    }

}

在视图中,

<img id="logo" src="<?php echo img('logo.png'); ?>" alt="XYZ" />
                                    ^ name of the image you want to load.

答案 1 :(得分:0)

您的服务器正在返回IPv6版本的localhost(:: 1)而不是IPv4版本(127.0.0.1),并且未完全配置为处理IPv6。

这通常是由于/etc/hosts文件的设置造成的。尝试将/etc/hosts的第一个非评论行更改为以下内容:

127.0.0.1       localhost

答案 2 :(得分:0)

在你的代码中

$myimage=array(
    "src"=>"asset/images/ci_logo2.gif"
    ,"alt"=>"Logo CodeIgniter - Api menyala!"
    ,'width' => '200'
    ,'height' => '200'
    ,'title' => 'Logo CodeIgniter'
    );
echo img($myimage)

实际上这将在CakePHP中使用。对于Codeigniter,只使用<img>标记

<img src="<?php echo base_url() ?>asset/images/ci_logo2.gif" alt="Logo CodeIgniter - Api menyala!" >

<img> tag in HTML5

要在base_url()

中使用config.php
$config['base_url'] = ''; # keep empty