【问题标题】:codeigniter image path代码点火器图像路径
【发布时间】:2011-10-07 07:11:05
【问题描述】:

我是一个 codeignite 新手,并试图在我的文件中添加一个图像在视图文件夹下。

我将<img src="../images/myImage.jpg"></img> 添加到我的service_view.php。我所看到的只是一个小图标的断开链接。

但是,如果我将路径更改为

<img src="../../user_guide/images/myImage.jpg"></img>

我可以看到图像。

我的文件系统如下:

application-
   view ->folder    (where service_view.php is located)
   images -> folder   (where myImage.jpg is located)

user_guide- 
   images ->folder  ((where myImage.jpg is located))

谁能帮我解决这个问题?非常感谢!

【问题讨论】:

    标签: image codeigniter path


    【解决方案1】:

    我建议将图像存储在与application 文件夹相同级别的images 文件夹中,而不是尝试在application 下混合PHP 代码和资源。然后就像你对用户指南所做的那样链接到它:

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

    【讨论】:

    • 我认为最好的做法是将图像文件夹放在应用程序文件夹下。在我看来,简单的路径无法显示图像也很奇怪。
    • 你有最佳实践的参考吗?
    • 不,我没有,但我看到很少有教程这样做。不知道我现在应该做什么......
    • 我一直按照我描述的方式做,并坚持这个答案。
    • @Jerry:一旦你开始使用额外的 uri 段作为控制器函数参数,../../relative/paths 就成为一个坏主意(它不会找到图像),使用完整路径或 URL。 Justin 是正确的,通常的做法是将静态资源(images/css/js...)存储在应用程序目录之外。
    【解决方案2】:

    我知道自从提出这个问题以来已经过去了一年多,但对于任何未来来看的人来说,这是我的解决方案....

    我试过这个创建了一个与应用程序相同级别的文件夹图像,在主 index.php 中在最后一个 require_once 语句之前添加了一行。

    define('IMAGE_PATH', APPPATH.'../images/');
    

    并在我想显示图像的任何地方使用 IMAGE_PATH。

    希望对你有帮助

    【讨论】:

    • 如果您想在其中一个样式表中使用图片作为背景怎么办?
    【解决方案3】:
    <img src="<?php echo base_url(); ?>images/image.png" />
    

    并将图像文件夹放在应用程序文件夹之外的同一目录中

    【讨论】:

    • 好吧,当你用php做模板引擎的时候,试试smarty或者twig,应该会更简单
    【解决方案4】:

    我只有一个图片文件夹, domain.com/images

    然后在视图上我只使用 /images

    【讨论】:

      【解决方案5】:

      最好将图像上传到根文件夹或站点文件夹中的文件夹中,并在 head 标签的第一行使用 base href。那么整个页面就不需要和http路径引用了。只需使用相对路径。由于 codeigniter 使用根目录下的 index.php 文件运行,我们应该使用 index.php 页面的所有相对路径

      【讨论】:

        【解决方案6】:

        在应用程序文件夹的同一级别创建一个图像文件夹。

        使用base_url(),您可以获取网站基地的位置(cfr 配置)。

        这很有用,因为与 site_url() 不同,您可以将字符串提供给文件,例如图像或样式表。
        例如:

        <img src="<?php echo base_url("/images/icons/stackOverflow.png"); ?>" alt="StackOverflow" title="StackOverflow is the best!" />
        

        这会给你类似:... src="http://example.com/images/icons/stackOverflow.png" ...

        来源:http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

        【讨论】:

          【解决方案7】:

          在本地服务器上试试这个

          <img src="http://localhost/ci/uploads/<?php echo $this->upload->data()['file_name'];?>" width="200px"/>
          

          在现场使用这个

          <img src="<?php echo base_url();?>/uploads/<?php echo $this->upload->data()['file_name'];?>" width="200px"/>
          

          【讨论】:

            【解决方案8】:

            在您的根目录中放置一个文件夹,例如“assets/images/”,然后在您的代码中将其用作

            &lt;img src="assets/images/imgname.jpg"&gt;&lt;/img&gt;

            【讨论】:

              【解决方案9】:

              你的文件结构应该是 -应用程序 -图片 -资产 - 或任何文件夹。 将应用程序文件夹、图像文件夹和资产文件夹保留在基本根文件夹中。

              【讨论】:

              • 你能澄清你的意思吗?这如何解决这个已有 6 年多历史且答案已被接受的问题?
              • 感谢上帝有人回复,我想说的是,将应用程序文件夹、图像文件夹和资产文件夹保留在基本根文件夹中。有一点写错。实际上,我的项目中有问题图像正在显示为 firat 时间,这是因为只要我单击链接它就会显示图像,但是在没有显示任何按钮图像之后,你能帮忙吗?
              • 如果您有新问题,请作为新问题提出。如果您在回答中犯了错误,请编辑它
              【解决方案10】:

              当您想包含根文件夹中的某些内容时使用

              FCPATH = C:\xampp\htdocs\your_root_folder\

              <img src="<?php echo FCPATH; ?>/images/myImage.jpg" />
              

              【讨论】:

                【解决方案11】:

                &lt;img src="&lt;?php echo base_url('/assests/images/image_name.jpg')?&gt;" alt=""&gt;

                这是codeigniter的确切路径,不需要写“../../..”,只写资产(文件夹名称)(应用程序的兄弟)的路径。 base_url 给出了项目文件夹的路径,而不是应用程序文件夹中视图文件夹的路径。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-10-27
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多