Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation Web (HTML, PHP, ASP, Java, XML, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=65)
-   -   Problème de lecture de fichier en PHP (http://www.ndfr.net/forums/showthread.php?t=2630)

stan 12-10-2003 14:31

Problème de lecture de fichier en PHP
 
Salut à tous.

Je suis en train de programmer un petit script en PHP qui récupère des informations à partir d'une page web.
Je l'avais programmé sous PHP 4.2.0 (EasyPHP 1.6). Or sur le serveur en PHP 4.3.3 ce même script ne fonctionne plus.
J'ai installé EasyPHP 1.7 avec PHP 4.3.3 pour faire le test, et j'ai réussi à déterminer en partie les 2 fonctions qui pourraient me poser problème. En l'occurence fopen() et fread().
Ce que je voudrais savoir, c'est :
- Y a-t-il une limite de lecture de fichier distant imposée par PHP 4.3.3 ? ou
- Y a-t-il une limite d'affichage du contenu de fichier avec fread ?
sachant que je ne récupère qu'une partie du fichier distant que je souhaite lire, alors qu'avec l'ancienne version de PHP je récupérais tout le fichier.

merci d'avance :)

Samva 12-10-2003 19:51

Re: Problème de lecture de fichier en PHP
 
Tu peux pas donner un bout du code utilisé??

stan 12-10-2003 20:43

Re: Problème de lecture de fichier en PHP
 
Je peux, je peux...

Je ne vais donner que la partie qui pose problème :


PHP Code:

$filedolphin fopen("http://www.project-dolphin.nl/team.php?tid=2877","r");
$sortie fread($filedolphin40960); 

Comme je l'ai dit, il ne récupère pas le site distant complètement... si j'affiche le résultat de $sortie, il n'affiche pas tout le code...


En attendant, j'ai trouvé une autre solution qui fonctionne

PHP Code:

    $file fopen("http://www.project-dolphin.nl/team.php?tid=2877""r");
    while(!
feof($file)) //Tant que l'on est pas a la fin du fichier
    
{
     
$buffer $buffer.fgets($file40960);
    }
   
fclose($file); 

Mais j'aimerais quand même savoir s'il y a eu des changements sur les capacités de lecture de fopen ou fread, car un code qui fonctionne sous php 4.2 mais pas sous php 4.3.3... :confused:

Samva 12-10-2003 20:51

Re: Problème de lecture de fichier en PHP
 
Ben ton code en premier n'est pas correct, enfin moi je trouve tu peux dépasser la fin du fichier etc, je pense que ct un bug de PHP 4.2 plutot qu'autre chose...

Matt 12-10-2003 20:55

Re: Problème de lecture de fichier en PHP
 
J'suis de l'avis de Samva ... Le premier code est pas propre du tout ...

Magi-X 12-10-2003 21:48

Re: Problème de lecture de fichier en PHP
 
hehe comme dhab les deux meme ki aide les bleme de php !

eh ben moi aussi jsuis davi de Samva :)

stan 12-10-2003 22:06

Re: Problème de lecture de fichier en PHP
 
Bon, mon premier code n'est pas bon, ok..
Comment j'aurais du faire ? Comme mon deuxième code ou c'est juste une histoire de mauvais codage ?

Je signale juste que je débute au niveau du PHP

Samva 12-10-2003 22:11

Re: Problème de lecture de fichier en PHP
 
En fait tu lis une partie de la page que tu demande,le fread s'arrete une fois que tu depasse la taille de lecture, en l'occurence tu dépassait rapidement la taille donnée, la facon la plus propre est de lire jusqua la fin du fichier en utilisant un plus petit bloc...

Et bien sur, fermer le flux d'acces au fichier :p

stan 12-10-2003 22:17

Re: Problème de lecture de fichier en PHP
 
Quote:

Originally Posted by Samva
Et bien sur, fermer le flux d'acces au fichier :p

Ouèp ça je l'avais mis dans mon code mais 2 lignes plus bas...
Par contre pour la taille de lecture, meme si je rajoutais 2 "0" à la fin de la taille ça ne changeait rien..

Enfin bref, ça fonctionne maintenant c'est tout bon

Merci

Samva 12-10-2003 22:47

Re: Problème de lecture de fichier en PHP
 
Bon petit complément d'info, fread lit un fichier binaire, pour l'utiliser sous Windows (qui fait la différence entre binaire et texte), il faut ouvrir le fichier en mode binaire ( ajouter b en parametre)
fgets lit et s'arrete si un retour chariot est rencontré ou EOF ou bien sur, la taille de lecture spécifié, sous PHP 4.3, omettre le parametre fait lire ligne par ligne...


All times are GMT +2. The time now is 11:56.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.