66 votes

La fonction base_url() ne fonctionne pas dans CodeIgniter

Dans mon application web en utilisant codeigniter. J'essaie d'utiliser la fonction base_url() mais elle affiche des résultats vides. J'ai également utilisé l'autoload helper via le fichier d'autoload, mais cela ne semble pas fonctionner non plus. J'avais aussi défini des constantes de base mais tout est vain.

        <?php echo $title; ?>        

            //<![CDATA[
            base_url = '<?= base_url();?>';
            //]]>

2voto

Hana Hasanah Points 1

En plus de vous assurer d'avoir configuré config/autoload.php:

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

Modifier application/config/config.php de :

$config['base_url'] = 'http://example.com/';

Devenir une URL de base dynamique :

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https": "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

Et en utilisant l'hôte en php pour l'exécuter en local, ci-dessous est juste un exemple de port.

php -S localhost:2000

0voto

pbarney Points 561

Si vous ne voulez pas utiliser l'assistant d'URL, vous pouvez obtenir les mêmes résultats en utilisant la variable suivante :

$this->config->config['base_url']

Cela vous renverra l'URL de base sans aucune étape supplémentaire requise.

0voto

Nooha Haris Points 21

Charger l'assistant url dans le contrôleur

$this->load->helper('url');

0voto

Dheeraj Thedijje Points 799

Si vous utilisez directement dans le framework Codeigniter, des fonctions comme base_url(), uri_string(), ou word_limiter(), toutes ces fonctions proviennent d'une sorte de fonction Helper du framework.

Alors que certaines Helpers peuvent être disponibles globalement comme log_message() qui sont extrêmement utiles partout, le reste des Helpers sont optionnels et leur utilisation varie d'une application à l'autre. base_url() est une fonction définie dans le helper url du Framework.

Vous pouvez en savoir plus sur les helpers dans la section d'aide du guide de l'utilisateur de Codeigniter.

Vous pouvez utiliser la fonction base_url() une fois que votre classe actuelle y a accès, pour cela vous devez d'abord le charger.

$this->load->helper('url')

Vous pouvez utiliser cette ligne n'importe où dans l'application avant d'utiliser la fonction base_url().

Si vous devez l'utiliser fréquemment, je vous suggère d'ajouter cette fonction dans config/autoload.php dans la section helpers en autoload.

Assurez-vous également d'avoir bien défini la valeur de base_url dans votre fichier config/config.php.

Ce sera la première configuration que vous verrez,

$config['base_url'] = 'http://votredomaine.com/'; 

Vous pouvez vérifier rapidement en

echo base_url();

Référence: https://codeigniter.com/user_guide/helpers/url_helper.html

0voto

Question - Je voulais charger mon fichier css mais cela ne fonctionnait pas même si je le chargeais automatiquement et manuellement pourquoi ? j'ai trouvé la solution => voici ma solution : application>config>config.php $config['base_url'] = 'http://localhost/CodeIgniter/'; //coller le lien vers l'URL de base

explication de la question :

" > j'avais mon fichier bootstrap.min.css à l'intérieur du dossier assets/css où assets est le répertoire racine que j'avais créé. Mais cela ne fonctionnait pas même lorsque je le chargeais ? 1. $autoload['helper'] = array('url'); 2. $this->load->helper('url'); dans mon contrôleur puis je vais dans mon

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X