Php : fopen et erreur
Résolu/Fermé
elacsap
Messages postés
13
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
12 janvier 2006
-
11 janv. 2006 à 11:15
trokiki - 30 juil. 2007 à 12:57
trokiki - 30 juil. 2007 à 12:57
A voir également:
- Fopen php
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Href php ✓ - Forum PHP
- Bouton php - Forum PHP
- Echo image php ✓ - Forum PHP
11 réponses
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
16 janv. 2006 à 11:33
16 janv. 2006 à 11:33
Chez moi cela fonctionne
Il est probable que cela vienne de la configuration php du serveur http
http://php.easynet.be/manual/fr/function.fopen.php
<cut>
Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
</cut>
Contacte ton administrateur , ou trouve un hébergeur permettant l'ouverture distante.
Johan
johand@horus:~/src/php$ cat fopen.php <?php $page = ''; $fp = fopen("http://www.commentcamarche.net","r"); //lecture du fichier while (!feof($fp)) { //on parcourt toutes les lignes $page .= fgets($fp, 4096); // lecture du contenu de la ligne } print($page); ?> johand@horus:~/src/php$ php fopen.php | sed -e '/^ *$/d'|head <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META NAME="site" content="http://www.commentcamarche.net"> <META NAME="expires" content="never"> <META NAME="rating" content="general"> <META NAME="revisit-after" content="7 days"> <META NAME="ROBOTS" content="index,follow"> <META NAME="author" content="Jean-François Pillou"> <META NAME="subject" content="Comment ça marche? [L'informatique]">
Il est probable que cela vienne de la configuration php du serveur http
http://php.easynet.be/manual/fr/function.fopen.php
<cut>
Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
</cut>
Contacte ton administrateur , ou trouve un hébergeur permettant l'ouverture distante.
Johan
D'apres le manuel PHP :
Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
C'est une histoire de config php. Faut aller faire un petit tour dans '/etc'.
Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
C'est une histoire de config php. Faut aller faire un petit tour dans '/etc'.
Bonjour,
Le problème vient probablement du temps que met le script php à s'exécuter.
En réalité, vous rencontrez une erreur de timeout (durée d'exécution maximale d'un script) et non une erreur liée à la mauvaise utilisation de la fonction fopen.
La solution en local : éditer le fichier httpd.conf, rechercher "timeout" (sans les guillemets), puis augmenter la valeur numérique située à droite de "timeout" qui correspond au délai en secondes avant Time out.
Cordialement,
Logan.
Le problème vient probablement du temps que met le script php à s'exécuter.
En réalité, vous rencontrez une erreur de timeout (durée d'exécution maximale d'un script) et non une erreur liée à la mauvaise utilisation de la fonction fopen.
La solution en local : éditer le fichier httpd.conf, rechercher "timeout" (sans les guillemets), puis augmenter la valeur numérique située à droite de "timeout" qui correspond au délai en secondes avant Time out.
Cordialement,
Logan.
elacsap
Messages postés
13
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
12 janvier 2006
11 janv. 2006 à 12:14
11 janv. 2006 à 12:14
Je viens de tester la même chose avec un fichier en local et ça fonctionne. Est-ce que ça peut venir du serveur ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
11 janv. 2006 à 13:09
11 janv. 2006 à 13:09
attend c'est bizarr, t'as mis :
$fp = fopen("http://www.commentcamarche.net","r"); //lecture du fichier
et ca marche en local ? ! non de non je dis la..
en fait dans le premier argument de fopen, c'est le chemin de ton fichier..
voilà la ca devrait aller mieux :P
Zep3k!Gno
$fp = fopen("http://www.commentcamarche.net","r"); //lecture du fichier
et ca marche en local ? ! non de non je dis la..
en fait dans le premier argument de fopen, c'est le chemin de ton fichier..
$file=fopen("./monfichier.txt","r");
voilà la ca devrait aller mieux :P
Zep3k!Gno
elacsap
Messages postés
13
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
12 janvier 2006
11 janv. 2006 à 13:40
11 janv. 2006 à 13:40
Ben c'est ce que j'ai fait... Le problème c'est que cela ne fonctionne pas avec les fichiers distants (mais c'est bon avec les fichiers en local)... et forcement je dois travailler sur des fichiers distants...
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
>
elacsap
Messages postés
13
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
12 janvier 2006
11 janv. 2006 à 13:41
11 janv. 2006 à 13:41
bin tu les récupères via ftp puis près tu travail dessus...
http://www.nexen.net/docs/php/annotee/function.ftp-get.php?lien=ftp
EnJoY
Zep3k!GnO
http://www.nexen.net/docs/php/annotee/function.ftp-get.php?lien=ftp
EnJoY
Zep3k!GnO
elacsap
Messages postés
13
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
12 janvier 2006
11 janv. 2006 à 13:47
11 janv. 2006 à 13:47
mais normalement fopen devrait fonctionner avec les fichiers distants, non ?
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
16 janv. 2006 à 10:30
16 janv. 2006 à 10:30
mais normalement fopen devrait fonctionner avec les fichiers distants, non ?
Oui effectivement : http://www.nexen.net/docs/php/annotee/function.fopen.php
Par contre je verrai bien avec ca :
plutot que ton
bon Courage.
Zep3k!GnO
Oui effectivement : http://www.nexen.net/docs/php/annotee/function.fopen.php
Par contre je verrai bien avec ca :
$fp = fopen("http://www.commentcamarche.net/monFichier_a_lire.txt","r"); //lecture du fichier
plutot que ton
$fp = fopen("http://www.commentcamarche.net","r"); //lecture du fichier
bon Courage.
Zep3k!GnO
salut coco
moi c <html>
<head>
<title>essai formulaire</title>
</head>
<body>
<? print("message : ".$_GET["msg"]."<br>\n");
print("nom : ".$_POST["nom"]."<br>\nage : ".$_POST["age"]."<br>\n"); ?>
<form action="exemple3.php?msg=bonjour" method="post">
nom : <input type="text" name="nom">
age : <input type="text" name="age">
<input type="submit" value="Valider">
</form>
</body>
</html> u
moi c <html>
<head>
<title>essai formulaire</title>
</head>
<body>
<? print("message : ".$_GET["msg"]."<br>\n");
print("nom : ".$_POST["nom"]."<br>\nage : ".$_POST["age"]."<br>\n"); ?>
<form action="exemple3.php?msg=bonjour" method="post">
nom : <input type="text" name="nom">
age : <input type="text" name="age">
<input type="submit" value="Valider">
</form>
</body>
</html> u
ini_set ("max_execution_time","90");
cette ligne met le timeout à 90, le temps peut etre ralonger en fonction des besoins... Il suffi de la mettre en debut de page
cette ligne met le timeout à 90, le temps peut etre ralonger en fonction des besoins... Il suffi de la mettre en debut de page
D'apres le manuel PHP :
Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
C'est une histoire de config php. Faux allé faire un petit tour dans ton '/etc'.
Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
C'est une histoire de config php. Faux allé faire un petit tour dans ton '/etc'.
16 janv. 2006 à 16:44
Yiep ! bien joué :D
Zep3k!GnO