Codeigniter 图像和源 URL

Posted

技术标签:

【中文标题】Codeigniter 图像和源 URL【英文标题】:Codeigniter Image and Source URL 【发布时间】:2012-08-20 01:29:02 【问题描述】:

我对 Codeigniter URL 有疑问。我有一个控制器“welcome.php”:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller 

    function __construct()
    
        parent::__construct();
    

    public function index()
    
        $data['tiung'] = 'index';
        $this->load->view('welcome_message',$data);
    

    public function dor($bus)
    
        $data['tiung'] = $bus;
        $this->load->view('welcome_message',$data);
    

还有一个视图“welcome_message.php”:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Welcome to CodeIgniter</title>
</head>
<body>
    sesuatu <?php echo $tiung?>
    <img src="fragor.jpg"   />
    ladalah
</body>
</html>

如果我想使用参数访问控制器功能“dor”,我使用了这个:

localhost/hostname/index.php/welcome/dor/something

它可以工作,但问题是图像未加载。我试图将图像文件放在 webroot 文件夹、“应用程序”文件夹,甚至“视图”文件夹中。但是图像仍然无法加载。我应该把图像文件放在哪里?

【问题讨论】:

assets 文件夹或 css 文件夹,然后使用 site_url 函数,如 site_url('assets/fragor.jpg'); 【参考方案1】:

最好的做法是在您的 webroot(带有 index.php 的文件夹)中创建一个 /images/ 目录,并使用 base_url() 函数获取图像的链接,即 I.E.

<img src="<?php echo base_url('images/fragor.jpg'); ?>"   />

在使用 site_url()base_url() 之前,不要忘记使用自动加载器或手动加载 url 帮助程序。

此外,如果您使用 CodeIgniter 的重写规则从 URL 中删除 index.php(看起来不像您正在这样做),请不要忘记从重写中排除 /images/ 目录。

【讨论】:

问题是我使用dreamweaver 设计了网页。使用“”更改网站意味着我必须更改页面中的大量 url 链接。在不改变url链接的情况下还有其他解决方案吗?【参考方案2】:

在 CodeIgniter 中,有一种特定的方式来表示图像......就像

echo img('images/gautam.gif');

把它放在你的视图文件中,你需要在你的根目录下创建“images”文件夹

【讨论】:

【参考方案3】:

虽然您必须在自动加载配置中添加 CI 助手“html”,但这之后就很容易了。

<?php
$image_properties = array(
    'src'   => 'images/picture.jpg',
    'alt'   => 'Me, demonstrating how to eat 4 slices of pizza at one time',
    'class' => 'post_images',
    'width' => '200',
    'height'=> '200',
    'title' => 'That was quite a night',
    'rel'   => 'lightbox'
);
img($image_properties);
?>
/* <img src="site.com/index.php/images/picture.jpg"  class="post_images"   title="That was quite a nigh`enter code here`t" rel="lightbox" />*/

或者只是简单的:

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

【讨论】:

以上是关于Codeigniter 图像和源 URL的主要内容,如果未能解决你的问题,请参考以下文章

Summernote 图像上传在 codeigniter 中不起作用

使用 jcrop 和 CodeIgniter 裁剪图像

使用 codeigniter 进行图像裁剪

如何将文件图像存储到 mysql (Codeigniter)

使用 CodeIgniter 和 Cropper 进行图像裁剪

Codeigniter 图像处理问题 [关闭]