Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2006, 12h18   #1
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 38
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : septembre 2006
Messages : 38
Points : 16
Points : 16
Par défaut Problème avec require_once

Bonjour,
J'essaie de faire un require_once sur un fichier mais celui-ci ne fonctionne pas.
Mon code est le suivant : require_once("http://localhost/classe/classe.php");
Hors si je fais un require_once("classe/classe.php"), ça fonctionne.

Merci,
f1vincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 12h39   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
allow_url_fopen est bien activé dans ton php.ini ?
Tu as bien une version de PHP > 4.3.0 ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 12h57   #3
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 38
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : septembre 2006
Messages : 38
Points : 16
Points : 16
Salut,
J'ai installé la version 5.1.4 de php.
J'ai vérifié dans le php.ini, et je n'ai pas de directive allow_url_fopen.

Merci,
f1vincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 12h59   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par f1vincent
J'ai vérifié dans le php.ini, et je n'ai pas de directive allow_url_fopen.
Et dans le phpinfo ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 13h00   #5
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 38
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : septembre 2006
Messages : 38
Points : 16
Points : 16
Oups, désolé, j'ai mal recherché.
J'ai bien cette directive et elle est bien à on.
Ce qui est étrange, c'est que j'ai l'impression qu'il charge bien le fichier puisque je n'ai pas de message d'erreur quant à l'ouverture du fichier.
C'est juste que lorsque j'essaie d'instancier la classe qui est dans ce fichier, j'ai un message qui me dit qu'il ne peut trouver la classe.

Merci,
f1vincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 13h09   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par f1vincent
Oups, désolé, j'ai mal recherché.
J'ai bien cette directive et elle est bien à on.
Ce qui est étrange, c'est que j'ai l'impression qu'il charge bien le fichier puisque je n'ai pas de message d'erreur quant à l'ouverture du fichier.
C'est juste que lorsque j'essaie d'instancier la classe qui est dans ce fichier, j'ai un message qui me dit qu'il ne peut trouver la classe.

Merci,
Alors c'est que le problème provient sans doute du code, et pas de l'inclusion. Petite démonstration de l'intérêt qu'il y a à bien cerner son problème...

On attend donc le code d'instanciation, le message d'erreur, et des extraits choisis du code de déclaration de la classe.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 13h18   #7
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 38
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : septembre 2006
Messages : 38
Points : 16
Points : 16
Tout à fait, j'ai pas bien vu le pb au départ !
Alors voici mon architecture :

J'ai un répertoire c:\www qui est mon DocumentRoot.
Pour être bref, j'ai dedans mon fichier index.php ainsi qu'un répertoire classe dans lequel je glisse mes fichiers qui correspondent à des classes.

Voici un extrait de mon code d'index.php :

$hote="http://localhost";
require_once($hote."/classe/classemysql.php");
$mysql = new ClasseMysql();

Avec ce code, j'ai le message d'erreur suivant :
Fatal error: Class 'ClasseMysql' not found in C:\www\index.php on line X

Si le code est :

require_once(classe/classemysql.php");
$mysql = new ClasseMysql();

La classe est bien instanciée.

J'espère que c'est clair !

Merci,
f1vincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 13h47   #8
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 38
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : septembre 2006
Messages : 38
Points : 16
Points : 16
Finalement, j'ai opté pour la solution faite dans GLPI (Gestionnaire Libre de Parc Informatique), pour la reconnaissance des chemins absolus.
Ca fonctionne.
Enfin, si quelqu'un a une solution a mon problème, ca m'intéresse quand même !
f1vincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 15h34   #9
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Lorsque tu fais une inclusion de fichier à distance par HTTP, le serveur apache interprète le code PHP correspondant. Ce que tu inclus est donc le résultat, du code HTML (sans doute rien dans ton cas) et pas du PHP. C'est donc normal que quand tu passes par HTTP, le code de ta classe ne soit pas disponible.

Désolé, j'aurais dû percuter plus tôt.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h22   #10
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 38
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : septembre 2006
Messages : 38
Points : 16
Points : 16
Ok, merci pour la réponse.
Maintenant je saurais !
f1vincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h36.


 
 
 
 
Partenaires

Hébergement Web