Aller au contenu

Lecture et récupération infos dans fichier texte


Messages recommandés

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) :incline:

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 :yes::-D

Lien vers le commentaire
Partager sur d’autres sites

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

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

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 :yes:

Lien vers le commentaire
Partager sur d’autres sites

Alors j'ai envie de dire que tout etait dans le titre meme le langage :D

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

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 :cartonrouge:

Lien vers le commentaire
Partager sur d’autres sites

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...