Soulfly_tribe90 Posté(e) le 17 mai 2005 Partager Posté(e) le 17 mai 2005 Voila j'ai un fichier du type : ---------- D:\VOLUMETRIE\RESULTVOLTEMP.TXT 2005_05_17_8_59_ Fixed DISKS [FRBORCL21PSGE] Fixed DISKS C: Fixed NTFS SYSTEM [8.0 GB 1.9 GB] 24% D: Fixed NTFS DATA1 [135.7 GB 95.6 GB] 70% Y: Fixed NTFS PAGEFILE [4.1 GB 2.6 GB] 63% FRBORCL20PSGE Fixed DISKS C: Fixed NTFS SYSTEM [16.9 GB 10.7 GB] 63% D: Fixed NTFS DATA [101.7 GB 53.9 GB] 53% SYLO Fixed DISKS J'aimerais donc recupérer les informations que j'ai mis entre crochet (je precise qu'il ne sont pas dans la syntaxe du fichier de base je les ai rajouté pour que vous voyez ce que je veux recupérer) Donc pour ouvrir le fichier un ptit fopen ca doit aller et pour lire il faut un ptit fgets mais je sais vraiment pas comment je pourrais cibler mon objectif dans le fichier. Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
SyGEN Posté(e) le 17 mai 2005 Partager Posté(e) le 17 mai 2005 Ben tu lis le fichier caractère par caractère, dès que tu trouves un [ tu stockes dans une variable (ou un tableau) tous les caractères tant que tu recontres pas l'autre ] et ainsi de suite tant que !eof Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 17 mai 2005 Auteur Partager Posté(e) le 17 mai 2005 Ouai mais ca marchera pas car j'ai bien précisé que les [] ne sont pas dans le fichier de base mais que je les ai rajouté pour que vous voyez ce que je dois recupérer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 17 mai 2005 Auteur Partager Posté(e) le 17 mai 2005 Bon avec un peu de bidouille j'arrive a obtenir les infos que je veux, voila le code : <?php $fp = fopen("Volumetrie2005_05_17_8_59_.TXT","r"); while(!feof($fp)) { for($i=0;$i<11;$i++) { $array[$i] = fgets($fp); } } $Total = count($array)-2; //print("Total : $Total <br>"); for($i=3;$i<=$Total;$i++) { //print("Total = $Total <br>"); //print("Data : $array[$i] <br>"); if(strlen($array[$i])<30) //Recuperation nom serveur { $Val = split(" ",$array[$i]); print("Server : $Val[0] <br>"); } else { $Val0 = substr($array[$i],50,7); $Val1 = substr($array[$i],60,8); print("Restored : $Val0 <br>"); print("Free : $Val1 <br>"); } } fclose($fp); ?> Et voila le resultat retourné : Server : FRBORCL21PSGE Restored : 8.0 Free : 1.9 Restored : 135.7 Free : 95.6 Restored : 4.1 Free : 2.6 Server : FRBORCL20PSGE Restored : 16.9 Free : 10.7 Restored : 101.7 Free : 53.9 Bon je vais un peu modifier pour pouvoir stocker ca dans des cases differentes d'un tableau pour que je puisse me servir des infos que je recupere, parce que la j'ecrase a chaque fois mais ce n'est qu'un test pour l'instant pour comprendre comment ca fonctionne et je crois avoir compris :lol: Lien vers le commentaire Partager sur d’autres sites More sharing options...
SyGEN Posté(e) le 17 mai 2005 Partager Posté(e) le 17 mai 2005 Pas taper mais c'est du bidouillage !!! A moins que réellement t'aies accès qu'a ces fichiers la, utilise les API dédiés ! P.S. j'espere que c'est pas pour un projet en entreprise sinon moi j'accepterais jamais ca, c'est te prendre vraiment pour un couillon. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 17 mai 2005 Auteur Partager Posté(e) le 17 mai 2005 Ben si justement c'est un projet en entreprise. Sachant que c'est un fichier donné et formaté par le serveur, il est donc toujours de la meme forme donc je pense que ma solution est pas trop mal --> d'ailleur en general en entreprise le code les utilisateurs ne le voit pas et ils s'en foutent, ils veulent du resultat. Mais si tu as quelque chose a me proposé je ne suis pas contre Lien vers le commentaire Partager sur d’autres sites More sharing options...
SyGEN Posté(e) le 17 mai 2005 Partager Posté(e) le 17 mai 2005 Faudrait plus de détail alors, parce que déja pour la réponse au premier post on savait pas si c'était du C ou du PHP, maintenant ton serveur c'est quoi, comment t'y a accès, etc etc .... pas devins nous. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 17 mai 2005 Auteur Partager Posté(e) le 17 mai 2005 Alors j'ai envie de dire que tout etait dans le titre meme le langage Pour l'histoire du serveur pas besoin de savoir pour élaborer ca, parce que meme moi je le sais pas --> ils m'ont donné un exemple de fichier que le serveur renvoie a moi de le traiter et de sortir les infos dont j'ai besoin puis de les inserer dans ma base de donnée. Donc insertion dans la base c'est facile mais apres avec ma methode je recupere bien ce que je veux mais apparement tu as une autre methode donc c'est ca que j'aimerais savoir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
SyGEN Posté(e) le 17 mai 2005 Partager Posté(e) le 17 mai 2005 Hé bien si tu sais pas c'est quoi le serveur ni si tu peux y avoir accès non j'ai pas de méthode alternative, mais la méthode la que tu utilises j'ai l'impression d'etre en 1990 et avant quand les fainéants de progs étaient pas fichu de te faire qqch de communicatif avec leur appli ou données. Je sais pas pour qui tu bosses mais perso je demanderais qu'ils se cassent le cul 2 minutes pour te sortir une api simple que tu peux intérroger. Sinon t'es bon pour changer ton script a chaque fois que ces andoui... feront une mise a jour du fichier! Enfin bon vu que c'est C, D, Y doit etre un serveur windows, donc a la limite t'écris un executable ou un plugin en dll pour leur prog qui t'envoie ca qqpart dans ton format (xml ou autre pour plus de simplicité) GetDiskFreeSpaceEx & co pour l'api win32. P.S. sorry pour le php, en général on le met au début j'ai pas fait attention Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 18 mai 2005 Auteur Partager Posté(e) le 18 mai 2005 Ben je bosse dans une grosse entreprise et au niveau des serveurs il y en a une quarantaines en Unix et Windows. Sinon moi je fais avec ce que je peux avec ce que l'on me donne, en faite il me demande beaucoup en me donnant peu donc je m'adapte comme je peux pour faire quelque chose qui fonctionne et qui soit modulable pour la maintenance. J'avoue que ce dernier bout de code ne l'est pas mais je peux pas faire mieux je crois donc voila sinon le reste ca le fait en general. Mais merci quand meme. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.