web-dev-qa-db-fra.com

Comment puis-je obtenir le basepath du projet dans CodeIgniter

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?

29
Alok Das

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

69
Amar Banerjee

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;
13
bipen

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.

10
Mohd Belal

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' />
1
Mehdi Jalal

É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 :)

1
Mohab mohamed

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.

0
Pirates