我在哪裡可以在Codeigniter中放置圖像文件,css,js等?


Answers

不,視圖文件夾內部不好。

看:你的項目必須有3個基本文件夾:

系統 //這是CI框架沒有太多理由來觸摸這個文件

應用程序 //這是你的邏輯進行的地方,使應用程序

公共 // 這必須是你的文檔

出於安全原因,最好將您的框架和應用程序保留在documentroot之外(public_html,htdocs,public,www ...等)

在你的公共文件夾中,你應該把你的公共信息,瀏覽器可以看到的,它的共同點找到文件夾:images,js,css; 所以你的結構將是:

|- system/
|- application/
|---- models/
|---- views/
|---- controllers/
|- public/
|---- images/
|---- js/
|---- css/
|---- index.php
|---- .htaccess
Question

把CSS文件夾和圖像文件夾放在哪裡可以接受? 我在想視圖文件夾裡面? 然而,控制器總是將路徑重新路由到基本URL,所以我必須指定.html文件中的路徑到它所在的位置,這是多餘的。




我通常將所有文件都放到應用程序根目錄下的“assets”文件夾中,然後確保使用Asset_Helper為我指向這些文件。 這是CodeIgniter建議的。




我使用以下文件夾結構:

application 
system 
static
    admin
        js
        css
        images
    public
        js
        css
        images
    uploads
        original
        thumbs



link_tag()助手顯然是這樣做的方式。 把你的CSS放在它通常所屬的site_root / css /中,然後使用helper:

來自CodeIgniter文檔...

echo link_tag('css/mystyles.css');

產量

<link href="http://example.com/css/mystyles.css" rel="stylesheet" type="text/css" />



(我是Codeigniter的新手,所以我不知道這是否是最好的建議)

我公開可用的文件保存在公共文件夾中。 他們在那裡是合乎邏輯的,我不希望將Codeigniter用於我不需要使用的東西。

目錄樹看起來像這樣:

  • /應用/
  • /上市/
  • /公/ CSS /
  • /公/ IMG /
  • /公/ JS /
  • /系統/

我在/ public /中保存的唯一文件是Codeigniter的index.php和我的.htaccess文件:

RewriteEngine On
RewriteBase /

RewriteRule ^css/ - [L]
RewriteRule ^img/ - [L]
RewriteRule ^js/ - [L]

RewriteRule ^index.php(.*)$ - [L]
RewriteRule ^(.*)$ /index.php?/$1 [L]



無論您放置CSS文件的位置如何,您都可以簡單地使用名為link_tag()的CodeIgniter“html”助手。 你可以像這樣應用這個幫助器:

echo link_tag('folder/subfolder/stylesheet.css');

您可以在最合適的位置找到CSS文件(在您的意見中)。 你將不得不自動加載“html”助手或單獨加載它來使用它。

人們不斷暗示使用base_url()來實現這一點,但實際上並不是真正的“CodeIgniter”方法(我認為這個問題有一些重複)。 這將起作用,但使用框架的原因之一是使用其中的預製功能。

codeigniter中有很多助手可以做這種事情。






Related