rss
Php : fopen et erreur
par elacsap
 Fil de Discussions
Statut : Non résolu
mercredi 11 janvier 2006 à 11:15:22
Bonjour,
Je souhaite afficher divers fichiers xml sur une même page web. Jusqeu là tout va bien... si ce n'est que je n'arrive pas à ouvrir mon fichier avec la fonction fopen...J'ai essayé d'ouvrir plusieurs fichiers, mais ça bloque...
J'ai même repris le code de base proposé sur le site :
<? 
$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
} 
?>  


Ben rien à faire, ça me renvoie toujours le même message d'erreur :
Warning: fopen(http://www.commentcamarche.net): failed to open stream: Bad file descriptor in c:\program files\easyphp1-8\www\test.php on line 3

Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp1-8\www\test.php on line 3


Est-ce que quelqu'un peut m'aider ? D'avance merci...
Répondre à elacsap  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par elacsap, le mercredi 11 janvier 2006 à 12:14:50 Fil de Discussions
Je viens de tester la même chose avec un fichier en local et ça fonctionne. Est-ce que ça peut venir du serveur ?
Répondre à elacsap

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zep3k!GnO, le mercredi 11 janvier 2006 à 13:09:35 Fil de Discussions
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..
$file=fopen("./monfichier.txt","r");


voilà la ca devrait aller mieux :P

Zep3k!Gno
Répondre à Zep3k!GnO

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par elacsap, le mercredi 11 janvier 2006 à 13:40:17 Fil de Discussions
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...
Répondre à elacsap

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zep3k!GnO, le mercredi 11 janvier 2006 à 13:41:47 Fil de Discussions
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
Répondre à Zep3k!GnO

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par elacsap, le mercredi 11 janvier 2006 à 13:47:08 Fil de Discussions
mais normalement fopen devrait fonctionner avec les fichiers distants, non ?
Répondre à elacsap

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zep3k!GnO, le lundi 16 janvier 2006 à 10:30:51 Fil de Discussions
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 :
$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
Répondre à Zep3k!GnO

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par jisisv, le lundi 16 janvier 2006 à 11:33:10 Fil de Discussions
Chez moi cela fonctionne
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
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Répondre à jisisv

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zep3k!GnO, le lundi 16 janvier 2006 à 16:44:18 Fil de Discussions
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.
Yiep ! bien joué :D


Zep3k!GnO
Répondre à Zep3k!GnO

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par pipin, le mardi 17 janvier 2006 à 16:44:24 Fil de Discussions
saluuuuut ça va bien
Répondre à pipin

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par dfdf, le vendredi 6 octobre 2006 à 08:42:37 Fil de Discussions
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
Répondre à dfdf

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Gaëtan LOISEL, le mercredi 31 janvier 2007 à 22:58:15 Fil de Discussions
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.
Répondre à Gaëtan LOISEL

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Sib, le vendredi 9 février 2007 à 20:48:39 Fil de Discussions
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
Répondre à Sib

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par trokiki, le lundi 30 juillet 2007 à 12:40:49 Fil de Discussions
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'.
Répondre à trokiki

14


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par trokiki, le lundi 30 juillet 2007 à 12:57:18 Fil de Discussions 
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'.
Répondre à trokiki
Discussions pertinentes trouvées dans le forum
01/05 03h05PHP/HTML Erreur après un submitWebmastering02/05 18h011
29/04 11h11[PHP/MSSQL] Erreur syntaxe ?Programmation29/04 11h213
05/01 23h12[PHP/SQL] erreur http 500 pour une page phpWebmastering05/01 23h131
10/07 10h17[php+mySQL]erreur sessionWebmastering10/07 17h043
Plus de discussions sur « Php : fopen et erreur » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger easyPHP 2.0b1easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données...Catégorie: Serveurs
Licence: Open Source
Plus de logiciels gratuits sur « Php : fopen et erreur »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide