Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter assets folder best practice

I'm fairly new to codeigniter, But i'm learning well, I'm going to add a css, images, js, ... folder but I'm not sure where to put it

Someone told me to make a 'public' folder

system application public     css     images 

And then in your index.php ( in the public folder ) adjust accordingly

$system_path = '../system'; $application_path = '../application';

But when I do that i get a 404 ( not the ci 404, but a really-not-found one )

Anyone has any idea what I might be doing wrong? Thanks!

like image 405
Miguel Stevens Avatar asked Nov 06 '13 18:11

Miguel Stevens


People also ask

Where should I put my assets folder in CodeIgniter?

If you want to create an assets folder in your CodeIgniter root directory, create an assets folder in root, open your assets folder, create a CSS file named style. css, put it into the CSS folder, and create your js file called script. js and keep it into js folder.

Where is the asset folder in CodeIgniter 4?

The assets folder is located in the very root of htdocs(I'm using xampp apache server).


1 Answers

I have this setup:

application assets system .htaccess 

and in the "assets" folder i have subfolders like "img" or "js" and so on. I also use "utility helper" to help me point to that folder.

If you want to try it, you have to first create a helper named "utility_helper.php" with this code:

     <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');       if ( ! function_exists('asset_url()'))      {        function asset_url()        {           return base_url().'assets/';        }      } 

and store it in

     application/helpers/ 

then you have to autoload that helper, you go to:

  application/config/autoload.php 

and auto load the helper (example: )

  $autoload['helper'] = array('form', 'url', 'utility'); 

you have also to route to that folder ('application/config/routes.php')

       $route['assets/(:any)'] = 'assets/$1'; 

and have a .htaccess file with this content:

    RewriteEngine on     RewriteCond $1 !^(index\.php|images|assets|robots\.txt)     RewriteRule ^(.*)$ /index.php/$1 [L] 

now you can simply include external scripts, css example:

   <link rel="stylesheet" type="text/css" href="<?php echo asset_url();?>css/style.css"> 

where css is the folder inside assets and style.css is the css file. Like so:

   application    assets           css               style.css    system 
like image 159
maetulj Avatar answered Sep 20 '22 12:09

maetulj