Saya memiliki pengaturan seperti ini:
Saya kemudian memiliki fungsi pembantu yang hanya mengembalikan path lengkap ke ini tergantung pada pengaturan saya, sesuatu yang mirip dengan:
application / helpers / utility_helper.php:
function asset_url(){
return base_url().'assets/';
}
Saya biasanya akan menjaga rutinitas umum yang serupa dengan ini di file yang sama dan otomatis memuatnya dengan konfigurasi autoload codeigniter.
Catatan: autoload URL helper untuk base_url()
akses.
application / config / autoload.php:
$autoload['helper'] = array('url','utility');
Anda kemudian akan memiliki akses ke asset_url()
seluruh kode Anda.
$autoload['helper'] = array('url', 'utility');
Tidak, di dalam folder views tidak bagus.
Lihat: Anda harus memiliki 3 folder dasar pada proyek Anda:
sistem // Ini adalah kerangka CI tidak ada banyak alasan untuk menyentuh file ini
aplikasi // di sinilah logika Anda, file yang membuat aplikasi ,
publik // ini harus menjadi documentroot Anda
Untuk alasan keamanan, lebih baik menyimpan kerangka kerja Anda dan aplikasi di luar documentroot Anda, (public_html, htdocs, public, www ... dll)
Di dalam folder publik Anda, Anda harus meletakkan informasi publik Anda, apa yang dapat dilihat browser, yang umum untuk menemukan folder: gambar, js, css; jadi struktur Anda akan:
sumber
public
Apakah ada masalah untuk menambahkan folder dengan nama yang sama..htaccess
untuk menghapus/index.php?
dan memanggil folder publik denganbase_url().'public/yourfolder';
Beginilah cara saya menangani aset publik. Di sini saya menggunakan Phalcon PHP metode Bootstrap .
Struktur Folder
File untuk diedit
.htaccess*
.htaccess**
index.php***
Ubah
application
jalur dansystem
jalur sebagai,Sekarang Anda menggunakan
public
folder sebagaibase_url()."public/[YOUR ASSET FOLDER]"
Semoga ini membantu :)
sumber
/public
mengapabase_url ()."public/[...
? Seharusnya adilbase_url ()."/[YOUR ASSET FOLDER]"
.Saya biasanya meletakkan semua file saya seperti itu ke folder "aset" di root aplikasi, dan kemudian saya pastikan untuk menggunakan Asset_Helper untuk menunjuk ke file-file itu untuk saya. Inilah yang disarankan CodeIgniter.
sumber
Tidak ada yang mengatakan bahwa Anda perlu memodifikasi .htacces dan menambahkan direktori dalam kondisi penulisan ulang. Saya telah membuat direktori "publik" di direktori root bersama dengan "system", "application", "index.php". dan mengedit file .htaccess seperti ini:
Sekarang Anda hanya perlu menelepon
<?php echo base_url()."/public/yourdirectory/yuorfile";?>
Anda dapat menambahkan subdirektori di dalam direktori "publik" sesuka Anda.sumber
Di mana pun Anda meletakkan file CSS, Anda cukup menggunakan pembantu CodeIgniter "html" yang disebut link_tag (). Anda akan menerapkan penolong ini seperti ini:
Terserah Anda untuk menemukan file CSS di tempat yang paling tepat (menurut Anda). Anda harus memuat secara otomatis pembantu "html" atau memuatnya secara terpisah untuk menggunakannya.
Orang-orang terus menyarankan penggunaan base_url () untuk mencapai hal ini tetapi sebenarnya sebenarnya bukan cara "CodeIgniter" untuk melakukannya (saya pikir pertanyaan ini memiliki beberapa duplikat). Itu akan berhasil tetapi salah satu alasan untuk menggunakan kerangka kerja adalah untuk menggunakan fungsi yang sudah dibuat sebelumnya di dalamnya.
Ada banyak pembantu dalam codeigniter untuk melakukan hal semacam ini.
sumber
tambahkan satu folder nama apa saja mis. publik dan tambahkan file .htaccess dan tulis izinkan dari semua artinya, dalam folder ini semua file Anda dan semua folder tidak akan memberikan kesalahan Akses terlarang! gunakan seperti ini
sumber
Saya menggunakan versi terbaru dari CodeIgniter 3.1.0. Struktur folder itu adalah:
Di situlah Anda harus meletakkan file gambar, css dan js di dalam folder aset.
sumber
Saya menggunakan struktur folder berikut:
sumber
(Saya baru mengenal Codeigniter, jadi saya tidak tahu apakah ini saran terbaik)
Saya menyimpan file yang tersedia untuk umum di folder publik saya. Adalah logis untuk mereka ada di sana, dan saya tidak ingin menggunakan Codeigniter untuk sesuatu yang saya tidak perlu menggunakannya.
Pohon direktori terlihat seperti ini:
Satu-satunya file yang saya simpan di / publik / adalah index.php Codeigniter, dan file .htaccess saya:
sumber
Anda dapat meletakkan folder css di dalam folder assest (beri nama apa saja) di direktori proyek Anda sebagai:
... ketika Anda ingin memuat file itu dalam sebuah halaman, Anda dapat menggunakan fungsi base_url () seperti ini:
<head> <link rel='stylesheet' href='<?php echo base_url();?>assets/css/style.css'> </head>
dan Anda yakin untuk menambahkan base_url proyek Anda di file config.php seperti ini:sumber
Hai struktur kami seperti Aplikasi, sistem, user_guide
buat aset nama folder tepat di dekat semua folder dan kemudian di dalam folder aset ini buat css dan javascript dan folder gambar letakkan semua css js Anda di dalam folder
sekarang buka header.php dan panggil css seperti ini.
sumber
The
link_tag()
helper jelas merupakan cara untuk melakukan hal ini. Letakkan css Anda di tempat yang seharusnya, di site_root / css / dan gunakan helper:Dari dokumen CodeIgniter ...
Keluaran
sumber