Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2294 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Traitement de fichiers et ereg => please help !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traitement de fichiers et ereg => please help !

n°174848
kayasax
Posté le 11-07-2002 à 09:31:04  profilanswer
 

Est ce qqun voit ou j'ai pu faire une erreur parcekela a me prend le chou !
 
voila mon script :

$fp=fopen("cit.txt",'r');
  while($contenu=fread($fp,filesize("cit.txt" ))){
  echo $contenu;
  }
  if(eregi("Erreur",$contenu)||!(eregi("Sauvegarde terminée ",$contenu))){
  echo("<font color=\"#FF0000\" size=\"+1\">ce fichier contient une erreur</font>" );
  }
  else{
  echo("Ce fichier ne contient pas d'erreur" );
  }


et le fichier 'cit.txt' :État de la sauvegarde
Opération : sauvegarde
Destination de sauvegarde active : 4mm DDS
Nom du média : "Cit-2"
 
Sauvegarde de "C: "
Jeu de sauvegardes nº 5 sur le média nº 1
Description de la sauvegarde : "Normal"
Type de sauvegarde : Normal
 
Sauvegarde débutée le 10/07/2002 à 21:01.
Avertissement : le fichier \Program Files\EasyPHP\apache\logs\access.log est en cours d'utilisation. Il a été ignoré.
Avertissement : le fichier \Program Files\EasyPHP\apache\logs\error.log est en cours d'utilisation. Il a été ignoré.
Avertissement : le fichier \Program Files\EasyPHP\mysql\data\mysql.err est en cours d'utilisation. Il a été ignoré.
Avertissement : le fichier \Program Files\Microsoft ISA Server\ISALogs\WEBW2002072.log est en cours d'utilisation. Il a été ignoré.
Sauvegarde terminée le 10/07/2002 à 21:39.
Répertoires : 1144
Fichiers : 12042
Ignorés : 4
Octets : 1 089 964 698
Durée :  37 minutes et  55 secondes
 
----------------------
 
 
 
 
Et il me sort une erreur je capte pas pkoi :heink:


Message édité par kayasax le 11-07-2002 à 09:52:30

---------------
All we need is a soul revolution
mood
Publicité
Posté le 11-07-2002 à 09:31:04  profilanswer
 

n°174858
kayasax
Posté le 11-07-2002 à 09:44:25  profilanswer
 

c'est ce test la qui plante:
 
if(!(eregi("Sauvegarde terminée ",$contenu)))
 
alors que mon fichier contient bien cette ligne  :cry:


---------------
All we need is a soul revolution
n°174892
Dost67
Posté le 11-07-2002 à 10:26:09  profilanswer
 

Code :
  1. $texte = '';
  2. $fp = fopen('cit.txt', 'r');
  3. while ($contenu = fread($fp,filesize('cit.txt'))) {
  4. echo $contenu;
  5. $texte .= $contenu;
  6. }
  7. if(preg_match('/Erreur/i', $texte) || !preg_match('Sauvegarde terminée/i', $texte)) {
  8. echo('<font color="#FF0000" size="+1">Ce fichier contient une erreur</font>');
  9. }
  10. else {
  11. echo('Ce fichier ne contient pas d'erreur');
  12. }


Le pb est certainement dans la variable $contenu qui ne contient que la dernière ligne du fichier et non le fichier entier. Par conséquent la ligne où il y a 'Sauvegarde réussi' n'était pas là. Comme il ne trouvait pas ça le eregi() était vrai, vu qu'il était inversé ça faisait TRUE et au final le test était vrai donc ERREUR.
 
Autre chose : en général on utilise preg_*() au lieu de ereg()...  http://www.zend.com/tips/tips.php?id=107&single=1

n°174900
kayasax
Posté le 11-07-2002 à 10:32:56  profilanswer
 

Merci Dost67 mais ca a pa l'air de fonctionner :

Citation :

if(preg_match('/Erreur/i', $texte) || !preg_match('Sauvegarde terminée/i', $texte)) {  

=>Warning: Delimiter must not be alphanumeric or backslash in c:\program files\easyphp\www\cit\sauvegarde\yat.php on line 17
 
if(preg_match('/Erreur/i', $texte) || !preg_match('/Sauvegarde terminée/i', $texte)) => il me trouve quand meme une erreur  
 
PS : normallement $contenu ne contient pas que la derniere ligne le meme test sur d'autre fichier fontionne... :??:


---------------
All we need is a soul revolution
n°174955
kayasax
Posté le 11-07-2002 à 11:12:55  profilanswer
 

:cry:  :cry: aidez moa !!!
 
ca marche avec les fichiers logs generes sous nt mais pas avec ceux generes sous 2000 [:sharpknife]  
 
quand j'affiche $contenu  j'ai ca en debut de fichier :ÿþ  et il ne traite pas les sauts de lignes :ouch:


---------------
All we need is a soul revolution
n°174956
kayasax
Posté le 11-07-2002 à 11:13:49  profilanswer
 

ah j'ai reenregistrer mon fichier et ca marche ! (il etait codé en unicode, je l'ai passé en ANSI ) => y a un moyen d'automatiser ca?


---------------
All we need is a soul revolution
n°175047
Dost67
Posté le 11-07-2002 à 12:49:25  profilanswer
 

Oups j'ai dit n'importe quoi, je viens de m'en rendre compte : je croyais que fread() était un alias de fgets() qui ne lit qu'1 ligne.
 
Dans ce cas j'ai dit n'importe quoi mais alors pourquoi

Code :
  1. while ($contenu = fread($fp, filesize("cit.txt" ))){
  2. echo $contenu;
  3. }

alors que

Code :
  1. $contenu = fread($fp, filesize("cit.txt" ));
  2. echo $contenu;

donne la même chose ?
 
Sinon pour preg j'ai oublié un délimiteur en effet.

n°175119
kayasax
Posté le 11-07-2002 à 14:17:17  profilanswer
 

ben c'est normal :
"fread() reads up to length bytes from the file pointer referenced by fp. Reading stops when length bytes have been read or EOF is reached, whichever comes first."
 
comme je lis le fichier en entier, qu'il soit dans un while ou pas c pareil...
 
 
 


---------------
All we need is a soul revolution
n°175534
kayasax
Posté le 12-07-2002 à 08:56:18  profilanswer
 

:bounce:  
personne ne sait comment transformer un fichier texte unicode en ANSI ?(fonction php peut etre?)


---------------
All we need is a soul revolution
n°175597
Dost67
Posté le 12-07-2002 à 10:51:49  profilanswer
 

Je crois que PHP ne connait que le code ASCII...

mood
Publicité
Posté le 12-07-2002 à 10:51:49  profilanswer
 

n°175634
gaya
Posté le 12-07-2002 à 11:20:44  profilanswer
 


Peut-etre que ca peut t'aider :
 
http://dev.nexen.net/scripts/details.php?scripts=599

n°175686
kayasax
Posté le 12-07-2002 à 12:22:30  profilanswer
 

non ca ne marche pas... :(  
merci quand meme...


---------------
All we need is a soul revolution

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Traitement de fichiers et ereg => please help !

 

Sujets relatifs
renomer/deplacer des fichiers en VBA ...help!
package F¨TP ,TELNET, gestion de fichiers..Help
renommer les fichiers qui n'ont pas d'extension avec un .batune petite appli qui manipule des fichiers
Question a propo des fichiers en phpGénérer des fichiers excel en java ??
Help[JAVA] prolbème d'accès aux fichiers par une applet en local [Resolu]
Plus de sujets relatifs à : Traitement de fichiers et ereg => please help !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR