J'ai une configuration comme celle-ci:
- application
- système
- les atouts
J'ai alors une fonction d'assistance qui renvoie simplement le chemin complet vers cela en fonction de ma configuration, quelque chose de similaire à:
application / helpers / utility_helper.php:
function asset_url(){
return base_url().'assets/';
}
Je vais généralement garder des routines communes similaires à celle-ci dans le même fichier et le charger automatiquement avec la configuration de chargement automatique de codeigniter.
Remarque: aide à l'URL de chargement automatique pour l' base_url()
accès.
application / config / autoload.php:
$autoload['helper'] = array('url','utility');
Vous aurez alors accès à asset_url()
tout votre code.
$autoload['helper'] = array('url', 'utility');
Non, à l'intérieur du dossier vues n'est pas bon.
Regardez: Vous devez avoir 3 dossiers de base sur votre projet:
system // Ceci est le cadre CI il n'y a pas beaucoup de raisons de toucher à ces fichiers
application // c'est là que va votre logique, les fichiers qui font l'application ,
public // cela doit être votre documentroot
Pour des raisons de sécurité, il est préférable de garder votre framework et l'application en dehors de votre racine de document, (public_html, htdocs, public, www ... etc)
À l'intérieur de votre dossier public, vous devez mettre vos informations publiques, ce que les navigateurs peuvent voir, il est courant de trouver les dossiers: images, js, css; votre structure sera donc:
la source
public
Y a-t-il un problème pour ajouter un dossier avec le même nom..htaccess
pour supprimer/index.php?
et appeler le dossier public avecbase_url().'public/yourfolder';
C'est ainsi que je gère les biens publics. Ici, j'utilise la méthode Bootstrap de Phalcon PHP .
Structure des dossiers
Fichiers à modifier
.htaccess*
.htaccess**
index.php***
Modifiez le
application
chemin et lesystem
chemin comme,Maintenant, vous utilisez le
public
dossier commebase_url()."public/[YOUR ASSET FOLDER]"
J'espère que cela t'aides :)
la source
/public
alors pourquoibase_url ()."public/[...
! Cela devrait être justebase_url ()."/[YOUR ASSET FOLDER]"
.Je mets généralement tous mes fichiers comme ça dans un dossier "assets" à la racine de l'application, puis je m'assure d'utiliser un Asset_Helper pour pointer vers ces fichiers pour moi. C'est ce que suggère CodeIgniter.
la source
Personne ne dit que vous devez modifier le .htacces et ajouter le répertoire dans la condition de réécriture. J'ai créé un répertoire "public" dans le répertoire racine avec "system", "application", "index.php". et édité le fichier .htaccess comme ceci:
Maintenant, vous devez simplement appeler
<?php echo base_url()."/public/yourdirectory/yuorfile";?>
Vous pouvez ajouter un sous-répertoire dans le répertoire "public" comme vous le souhaitez.la source
Quel que soit l'endroit où vous placez le fichier CSS, vous pouvez simplement utiliser l'assistant CodeIgniter "html" appelé link_tag (). Vous appliqueriez cette aide quelque chose comme ceci:
A vous de localiser le fichier CSS à l'endroit le plus approprié (à votre avis). Vous devrez soit charger automatiquement l'assistant "html", soit le charger séparément pour l'utiliser.
Les gens continuent à suggérer l'utilisation de base_url () pour y parvenir, mais ce n'est pas vraiment la façon "CodeIgniter" de le faire (je pense que cette question a quelques doublons). Cela fonctionnera, mais l'une des raisons d'utiliser un framework est d'utiliser les fonctions prédéfinies qu'il contient.
Il existe de nombreux assistants dans codeigniter pour faire ce genre de chose.
la source
ajoutez un dossier n'importe quel nom, par exemple public et ajoutez le fichier .htaccess et autorisez l' écriture de tout ce que cela signifie, dans ce dossier tous vos fichiers et tous vos dossiers ne donneront pas d'erreur Accès interdit! utilise-le comme ça
la source
J'utilise la dernière version de CodeIgniter 3.1.0. La structure des dossiers de celui-ci est:
C'est là que vous devez placer les fichiers images, css et js dans le dossier assets.
la source
J'utilise la structure de dossiers suivante:
la source
(Je suis nouveau sur Codeigniter, donc je ne sais pas si c'est le meilleur conseil)
Je garde les fichiers accessibles au public dans mon dossier public. Il est logique qu'ils soient là, et je ne veux pas utiliser Codeigniter pour quelque chose pour lequel je n'ai pas besoin de l'utiliser.
L'arborescence de répertoires ressemble à ceci:
Les seuls fichiers que je garde dans / public / sont index.php de Codeigniter et mon fichier .htaccess:
la source
vous pouvez placer le dossier css dans le dossier assest (vous lui donnez n'importe quel nom) dans le répertoire de votre projet comme:
... lorsque vous voulez charger ce fichier dans une page, vous pouvez utiliser la fonction base_url () de cette façon:
<head> <link rel='stylesheet' href='<?php echo base_url();?>assets/css/style.css'> </head>
et vous êtes sûr d'ajouter base_url de votre projet dans le fichier config.php comme ceci:la source
Salut notre structure est comme Application, système, user_guide
créer un nom de dossier actifs juste à côté de tous les dossiers, puis dans ce dossier actifs créer un dossier css et javascript et images placer tous vos js css dans les dossiers
allez maintenant dans header.php et appelez le css comme ceci.
la source
L'
link_tag()
assistant est clairement le moyen de le faire. Mettez votre css à sa place habituelle, dans site_root / css /, puis utilisez l'assistant:À partir de la documentation CodeIgniter ...
Production
la source