J'ai créé un dossier en tant qu'utilisateur dans le répertoire racine.
Le chemin de base de mon projet est:
/var/www/myproject/
Lorsque je veux accéder au chemin de base en tant que BASEPATH à partir d'un contrôleur, il affiche:
/var/www/myproject/system/
Mais je veux que le chemin soit:
/var/www/myproject/
Je suis nouveau sur CodeIgniter. Comment définir ce chemin?
Utilisez FCPATH au lieu de BASEPATH pour en savoir plus sur ce lien.
Codeigniter - récupère dynamiquement le chemin relatif/absolu en dehors du dossier de l'application
utiliser base_url()
echo $baseurl=base_url();
si vous avez besoin de passer l'URL à une fonction, utilisez site_url()
echo site_url('controller/function');
si vous avez besoin du chemin racine, alors FCPATH
..
echo FCPATH;
Voici le constantes intégré que vous pouvez utiliser selon vos besoins pour obtenir les chemins dans Codeigniter:
EXT: The PHP file extension
FCPATH: Path to the front controller (this file) (root of CI)
SELF: The name of THIS file (index.php)
BASEPATH: Path to the system folder
APPPATH: The path to the “application” folder
Merci.
Codeigniter a une fonction qui récupère votre chemin de base qui est:
FCPATH and BASEPATH i recommand use FCPATH.
pour votre url de base utiliser:
<?=base_url()?>
si votre tag court php est éteint
<?php echo base_url(); ?>
par exemple: si vous voulez lier vos fichiers css qui se trouvent dans votre chemin de base
<script src='<?=base_url()?>js/jquery.js' type='text/javascript' />
Évidemment, vous voulez dire le baseurl. Si c'est le cas:
uRL de base: URL de votre racine CodeIgniter. Ce sera généralement votre URL de base, | AVEC une barre oblique finale.
Racine dans codeigniter signifie spécifiquement la position où vous pouvez ajouter votre contrôleur à votre URL.
Par exemple, si la racine est localhost/ci_installation/index.php/
, pour accéder au contrôleur mycont
, vous devez accéder à localhost/ci_installation/index.php/mycont
.
Ainsi, au lieu d’écrire un lien aussi long, vous pouvez ( après avoir chargé "url" helper ), remplacer le terme localhost/ci_installation/index.php/
par base_url()
et cette fonction renverra la même chaîne url.
NOTE: si vous n'avez pas ajouté index.php/
à votre base_url
dans votre config.php
, alors si vous utilisez base_url()
, il retournera quelque chose comme ce localhost/ci_installation/mycont
. Et cela ne fonctionnera pas, car vous devez accéder à vos contrôleurs à partir de index.php
. Au lieu de cela, vous pouvez placer un fichier .htaccess
sur votre position d'installation de codeigniter. Faire face à ce que le code ci-dessous:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /imguplod/index.php/$1 [L]
Et ça devrait marcher :)
Changez votre contrôleur par défaut qui est dans le fichier de configuration.
c'est-à-dire: config/routes.php
$route['default_controller'] = "Your controller name";
J'espère que cela aidera.