这是我第一次使用CI,当我尝试使用img()时,它不起作用。当我查看页面资源时,我发现调用图像的代码显示为这样的<img src="http://::1/lat2/asset/images/ci_logo2.gif" alt=""/>
,我注意到主机不应该是::1
,而是localhost
。这就是为什么没有显示图像的原因。那么,如何解决呢?
这是我放在控制器文件夹上的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
<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>
如果要执行此操作,则必须创建自定义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.
您的服务器返回的是IPv6版本的localhost(::1),而不是IPv4版本(127.0.0.1),并且没有完全配置为处理IPv6。
这通常是由于/etc/hosts
文件的设置造成的。尝试将/etc/hosts
的第一个非注释行更改为以下行:
127.0.0.1 localhost
在您的代码中
$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!" >
HTML5 中的<img>
标签
为了在config.php
中使用base_url()
$config['base_url'] = ''; # keep empty