Bonjour, j'ai une question à propos de la fonction include (ou require ou include_once, ou require_once) de php:
J'ai un fichier script.php qui contient diverses fonctions:
Depuis un fichier test.php, j'inclus script.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php function f1(){ return 1; } function f2(){ return 2; } ?>
Tout cela fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php include('../include/script.php');//notez que script.php est un autre dossier?> <html> <head></head> <body>Test<?php echo f1();?> </body> </html>
Je voudrai maintenant pouvoir inclure mon script.php mais depuis son url,
j'ai donc créé et redirigé mon nom de domaine comme il faut et script.php est accessible: http://include.nomdedomaine.com/script.php
j'ai ensuite activé les paramètres allow_url_include et allow_url_fopen sur mon serveur (version php 5.6), en étant contient des problèmes de sécurité que cela pourrait engendrer.
Mais lorsque je modifie mon fichier test.php:
j'ai le message d'erreur: Fatal error: call to undefined function f1()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php include('http://include.nomdedomaine.com/script.php');?> <html> <head></head> <body>Test<?php echo f1();?> </body> </html>
J'ai effectué quelques tests:
en modifiant script.php ainsi:
j'ai bien le mot script qui apparaît, mais ensuite, toujours le message d'erreur: Fatal error: call to undefined function f1()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php echo 'script'; function f1(){ return 1; } function f2(){ return 2; } ?>
J'ai essayé de remplacer mon include() par file_get_contents() et j'ai le même comportement
Le script.php serait exécuté et pas inséré ?
J'avoue ne pas comprendre. Auriez-vous une idée ?
Merci.







Répondre avec citation
Partager