include path ? - Programmation
Marsh Posté le 03-07-2002 à 10:39:50
Purée, rien à faire, j'ai modifié le php-safe.ini qui lui aussi contient une donnée include_path:
include_path = ".;E:\www\include\" ; UNIX: "/path1path2" Windows: "\path1;\path2"
Je redemarre php, et que dalle toujours ce putaing de
Fatal error: Failed opening required 'menu.inc' (include_path='.;C:\Program Files\EasyPHP\php\pear\' in e:\www\index.php on line 4
Ca me broute grave, je ne declare nulle part le chemin:
"C:\Program Files\EasyPHP\php\pear\"
Quelqu'un peut-il m'aider à demarrer ? please ?
Marsh Posté le 03-07-2002 à 10:43:42
Ben perso quand g ca, ca a rien a voir tout ca en fait
T sur que ton fichier existe bien ?
Le fichier ds lekel tu fe ton include ou require, il est bien ds le meme repertoire que menu.inc ?
Normalement c ca l'erreur, soit le fichier existe pas, soit il est pas ds le rep
Marsh Posté le 03-07-2002 à 10:47:16
Sur free, le même code fonctionne, j'ai placé les pages php courante à la racine, et toutes les pages d'include dans ./include
En local, j'ai fait le même.
Sinon, oui, le repertoire E:\www\include
existe et contient entre autre le fichier menu.inc
Je ne comprend pas pourquoi l'include_path recherche toujours dans C:\Program Files\EasyPHP\php\pear\' alors que je lui ai rien demandé
grrr
Marsh Posté le 03-07-2002 à 10:48:22
Paf27 a écrit a écrit : Sur free, le même code fonctionne, j'ai placé les pages php courante à la racine, et toutes les pages d'include dans ./include En local, j'ai fait le même. Sinon, oui, le repertoire E:\www\include existe et contient entre autre le fichier menu.inc Je ne comprend pas pourquoi l'include_path recherche toujours dans C:\Program Files\EasyPHP\php\pear\' alors que je lui ai rien demandé grrr |
Ha ben c normal !
Kand tu fe ./, tu vas direct a la racine du site
Essaye tout betement include/ton_fichier
Marsh Posté le 03-07-2002 à 10:50:48
Max Evans a écrit a écrit : Ha ben c normal ! Kand tu fe ./, tu vas direct a la racine du site Essaye tout betement include/ton_fichier |
Ca marche du tonner, merci beaucou p!
Penses tu que le même code fonctionnera sur free ?
Sinon, je cherche toujours une ame charitable pour connaitre les différences et donc ce qui est le mieux entre
require_onde
require
include_once
include
Marsh Posté le 03-07-2002 à 10:54:16
Paf27 a écrit a écrit : Ca marche du tonner, merci beaucou p! Penses tu que le même code fonctionnera sur free ? Sinon, je cherche toujours une ame charitable pour connaitre les différences et donc ce qui est le mieux entre require_onde require include_once include |
Normalement le code devrait aussi marcher sur FREE, y a pas de raison
Sinon, pour les fonctions (Petit copié-collé de PHP.net) :
REQUIRE :
require()
La commande require() se remplace elle-même par le contenu du fichier spécifié, comme les préprocesseurs C le font avec la commande #include.
Il est important de noter que lorsqu'un fichier est include() ou require(), les erreurs d'analyse apparaîtront en HTML tout au début du fichier, et l'analyse du fichier parent ne sera pas interrompue. Pour cette raison, le code qui est dans le fichier doit être placé entre les balises habituelles de PHP.
require() n'est pas vraiment une fonction PHP : c'est plus une instruction du langage. Elle ne fonctionne pas comme les fonctions standards. Par exemple, require() est indépendante des structures de contrôle (cela ne sert à rien de la placer dans une condition, elle sera toujours exécutée). De plus, elle ne retourne aucune valeur. Lire une valeur retournée par un require() retourne une erreur d'analyse.
Contrairement à include(), require() va toujours lire dans le fichier cible, même si la ligne n'est jamais exécutée. Si vous souhaitez une inclusion conditionnelle, utilisez include(). La condition ne va jamais affecter require(). Cependant, si la ligne de require() n'est jamais exécutée, le code du fichier ne le sera jamais non plus.
Les boucles n'affectent pas le comportement de require(). Même si le code contenu dans le fichier source est appelé dans la boucle, require() n'est exécuté qu'une fois.
Cela signifie qu'on ne peut pas mettre un require() dans une boucle, et s'attendre à ce qu'il inclue du code à chaque itération. Pour cela, il faut utiliser include().
REQUIRE_ONCE :
require_once()
La commande require_once() se remplace elle-même par le fichier spécifié, un peu comme les commandes de préprocesseur C #include, et ressemble sur ce point à require(). La principale différence est qu'avec require_once(), vous êtes assurés que ce code ne sera ajouté qu'une seule fois, évitant de ce fait les redéfinitions de variables ou de fonctions, génératrices d'alertes.
INCLUDE :
include()
La fonction include() inclus et évalue le fichier spécifié en argument.
Il est important de noter que lorsqu'un fichier est include() ou require(), les erreurs d'analyse apparaîtront en HTML tout au début du fichier, et l'analyse du fichier parent ne sera pas interrompue. Pour cette raison, le code qui est dans le fichier doit être placé entre les balises habituelles de PHP.
Cela se produit à chaque fois que la fonction include() est rencontrée. Donc, vous pouvez utiliser la fonction include() dans une boucle pour inclure un nombre infini de fois un fichier, ou même des fichiers différents.
INLCUDE_ONCE :
include_once()
La commande include_once() inclut et évalue le fichier spécifié durant l'exécution du script. Le comportement est similaire à include(), mais la différence est que si le code a déjà été inclus, il ne le sera pas une seconde fois.
Comme précisé dans la section require_once(), la fonction include_once() est utilisée de préférence lorsque le fichier doit être inclus ou évalué plusieurs fois dans un script, ou bien lorsque vous voulez être sÛr qu'il ne sera inclus qu'une seule fois, pour éviter des redéfinitions de fonction.
Pour plus d'exemples avec require_once() et include_once(), jetez un oeil dans le code de PEAR inclus dans la dernière distribution de PHP.
Voili voilou
Marsh Posté le 15-09-2002 à 12:11:53
Dsl, je resourt le topic du cimetière
Pour faire comme chez free avec le dossier include, modifie le include_path en "./include" dans le php.ini dans C:\windows
Marsh Posté le 03-07-2002 à 10:12:20
Voilà, je viens d'installer et pour la premiére fois easy php sur mon poste au TAF, probléme, dés que je souhaite accéder à ma page web, j'ai droit à ceci :
Fatal error: Failed opening required 'menu.inc' (include_path='.;C:\Program Files\EasyPHP\php\pear\' in e:\www\index.php on line 4
Bon, ok, c'est à priori un probléme de Path, mais dans mon php.ini j'ai ceci:
; php.ini for PEAR tests
include_path = ".;E:\www\include"
Repertoire qui bien sur existe....
ou dois se situer le php.ini ?
Dans
C:\Program Files\EasyPHP\php\pear ?
ou à la racine ?
C:\Program Files\EasyPHP\ ?
Quel est le probléme ?
---------------
Paf Was Here !!! (Psn : paf27)