begin process at 2012 05 30 16:23:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Masque,filtrage,modif d'un fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Masque,filtrage,modif d'un fichier

samedi 27 mai 2006 à 17:25:06 | Masque,filtrage,modif d'un fichier

xtremexp

salut,
voilà, je suis un gros noob en php et j'aimerai faire un script qui puisse afficher un fichier en y faisant quelques modifications. Le fichier en question est celui-ci
(juste le début):
[DBestTimes.BestTimes]
BestMapTimes=AS-D2F[Multidodging]-V1-SE%TME:618%NMS:merêntiâ, {LôD}Storm, BlackCat
BestMapTimes=AS-7Co-MayanTemple-V01b%TME:283%NMS:{LôD}Knight (BE), »DmT]óö[slåyér«6 (NL), {MoD}Dark_Angel (GRB)

J'aimerai filtrer et réarranger ce fichier pour obtenir ceci:
AS-D2F[Multidodging]-V1 618 merêntiâ {LôD}Storm BlackCat
AS-7Co-MayanTemple-V01b 283 {LôD}Knight (BE) »DmT]óö[slåyér«6 (NL) {MoD}Dark_Angel (GRB)

seulement ya pleins de petits trucs qui m'enbètent:
j'arrive pas à enlever ça d'abord:
"[DBestTimes.BestTimes]"


j'ai fait ce script avec test2.ini=[DBestTimes.BestTimes] (juste ça)
<?php
$fichier = "test2.ini";
$a = file_get_contents($fichier);
$dat = str_replace("[DBestTimes.BestTimes]"," ",$a);
echo $dat;
//echo $dat
?>

ça m'affiche ça:
[DBestTimes.BestTimes] (ça garde l'expression au lieu de la supprimer :S )
Note, en hexa, avant le "[", ya "FF FE".

Ensuite , le deuxième problème c'est de changer les fins de lignes en saut de ligne et la encore j'ai pas reussi ..
et puis après le reste..enfin bon déjà les 2 premier problèmes du dessus réglés ça sera pas mal

Voilà si vous pouviez m'aider car là je galère lol
samedi 27 mai 2006 à 20:11:44 | Re : Masque,filtrage,modif d'un fichier

WhiteDwarf

Membre Club
Moi j'aurais plutôt fais :

<?php
$fichier = "test2.ini";
$fp = fopen($fichier, "w");
$a = fread($fp, filesize($file));
$dat = str_replace("[DBestTimes.BestTimes]"," ",$a);
echo $dat;
//echo $dat
?>

Question de point de vue :p

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------

samedi 27 mai 2006 à 21:57:13 | Re : Masque,filtrage,modif d'un fichier

xtremexp

j'ai essayé avec tes modifs mais en remplacant le $file,w par $file,r+ histoire de pas effacer tout le fichier dès le départ sinon ya rien à remplacer :)
<?php
$file = "test2.ini";
$fp = fopen($file, "r+");
$a = fread($fp, filesize($file));
$dat = str_replace("[BestMapTimes]","LOL ",$a);
echo $dat;
?>
avec test2.ini:
[DBestTimes.BestTimes]
BestMapTimes=AS-D2F[Multidodging]-V1-SE%TME:618%NMS:merêntiâ, {LôD}Storm, BlackCat

ça m'affiche pareil, donc j'ai toujours pas reussi à enlever ce truc ([DBestTimes.BestTimes]
)
dimanche 28 mai 2006 à 18:16:50 | Re : Masque,filtrage,modif d'un fichier

malalam

Administrateur CodeS-SourceS
hello,

le file_get_contents () était très bien.
je suis un peu surpris par ton problème...
Tu devrais peut-être procéder différemment. Surtout s'il y a des caractères hexa dont tu ne connais pas la signification.
Si le format est toujours comme celui-là, cela veut dire que tu as des positions fixes.
Si tu as des sauts de ligne dans le fichier, c'est encore mieux.
récupère avec file ();
parcours le tableau obtenu.
Saute la 1ère ligne...
récupère à partir du bon offset jusqu'à la fin de ta chaîne.
Etc...

lundi 29 mai 2006 à 12:49:49 | Re : Masque,filtrage,modif d'un fichier

xtremexp

j'ai essayé avec la fonction parse_ini_file avec ce code:
[code]<?php
$file="test2.ini";

$ini_array = parse_ini_file($file, TRUE);
$dat_a=($ini_array["DBestTimes.BestTimes"]["BestMapTimes"]);
$dat_b=explode("%",$dat_a); //isolement Carte/Temps/Joueurs
echo $dat_a;
echo '<br/>';
print_r($dat_b);
echo '<br/>';
$dat_b[1] = str_replace("TME:","",$dat_b[1]); //suppression des données indésirables dans Temps et Joueurs
$dat_b[2] = str_replace("NMS:","",$dat_b[2]);
$dat_b[2] = str_replace(" ","",$dat_b[2]);
print_r($dat_b);

//isolement du nom de la carte
$carte = $dat_b[0];
echo '<br/><br/>Carte: <br/>' .$carte;

//Convertion du temps en secondes en Minutes et Secondes
$minutes=floor($dat_b[1]/(60));
$secondes=$secondes=60*(number_format($dat_b[1]/(60),2)-floor($dat_b[1]/(60)));
$temps = array_merge($minutes,$secondes);
echo '<br/><br/>Temps:<br/>';
print_r($temps);

//Insertion des noms de joueurs dans un tableau à 3 dimensions
$joueurs=explode(",",$dat_b[2]);
echo '<br/><br/>Joueurs: <br/>';
print_r($joueurs);


$classement = array_merge($carte,$temps,$joueurs);
echo '<br/><br/>Classement:   Carte   Minutes   Secondes  Joueur1  Joueur2   Joueur3<br/>';
print_r($classement);
?>
[/code]

Ce code arrive à séparer correctement les variables avec des données avec des caractères simples, seulement quand test2.ini= ça:
[DBestTimes.BestTimes]
BestMapTimes=AS-7Co-MayanTemple-V01b%TME:283%NMS:{LôD}Knight (BE), »DmT]óö[slåyér«6 (NL), {MoD}Dark_Angel (GRB)

, ya des caractère que php n'aime pas et il arrive plus à séparer les variables:
Warning: Error parsing test2.ini on line 2 in c:\program files\easyphp1-8\www\read2.php on line 4

Notice: Undefined index: DBestTimes.BestTimes in c:\program files\easyphp1-8\www\read2.php on line 5

Array ( [0] => )

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\read2.php on line 11

Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\read2.php on line 12
Array ( [0] => [1] => [2] => )

Carte:

Minutes:0

Temps:
Array ( [0] => 0 [1] => 0 )

Joueurs:
Array ( [0] => )

Classement: Carte Minutes Secondes Joueur1 Joueur2 Joueur3
Array ( [0] => [1] => 0 [2] => 0 [3] => )

comment faire, pour en amont, filtrer ces variables indésirables? (une fonction qui enlève les mauvais caractères?)
mardi 30 mai 2006 à 18:57:52 | Re : Masque,filtrage,modif d'un fichier

xtremexp

g reussi à faire fonctionner mon script correctement avec plusieurs lignes en le modifiant seulement celui-ci ne fonctionne pas avec des fichiers codés en UTF-16. (FF FE en tout début de fichier, puis après les données textes).
Ya t'il un moyen de convertir le fichier en faisant en sorte de supprimer ce codage?


Cette discussion est classée dans : fichier, dat, dbesttimes, besttimes, lôd


Répondre à ce message

Sujets en rapport avec ce message

connexion dune base de donées access avec un fichier .dat [ par jessicalba ] bonjour je rencontre actuellement un petit problème pour une connexion : j'aai un lecteur code barre qui génére un fichier .dat ce fichier doit etre convertion [ par thaaabet ] Saluut a Tous,je voudrais savoir est ce qu'il ya une fonction en php qui me permet de convertir un fichier d'extension *.dat en un fichier  texte (*.t Accéder à un lecteur réseaux avec passe et login [ par utero ] Salut la compagnie! dans le cadre de l'élaboration d'un petit programme à interface web, qui fait le listage et la mise au point d'un bilan décrivant Parser un fichier Texte [ par SeiKen02100 ] Bonjour, Alors voila je vous explique le problème, j'ai un fichier texte sous cette forme la : ?,Alala,Balala,Calala,Dalala,Elala,Falala,Galala,Halala Probleme d'affichage du resultat d'un scan sur 2 colonnes [ par kilian67 ] Salut, j'ai un souci pour l'affichage des résultats d'un script que je souhaiterai affiché sur 2 voir 3 colonnes. Voici le script en question il fon Problème de dézipage en php [ par davst ] Bonjour, J'ai un problème lors du dézipage de mon fichier. Lors du dézip les caractères spéciaux genre "ô é ç" changentdu genre :Carantec-¼le_Lou?t-Ch xml et php [ par agbebe ] salut !!!voila, je voudrais savoir que lorsqu'on utilise un fichier xml on a plus besoin de base de données pour stocker les infos ???dans tous les ca lire et afficher fichier xls [ par thomason1986 ] bonjour , s'il vous plais je veux un code qui me permet de lire le contenu d' un fichier xlset d'afficher son contenu en php. Optimisation [ par zut69 ] Bonjour,Mon projet de diplôme consiste à lire un fichier sur le disque dur du client, le crypter, l'envoyer au serveur et le décrypter en PHP.Je fais longueur d'une chaine, en byte... [ par pysco68 ] bonjour les gens!!bon je me bats avec une petite fonction qui me génère un fichier  CSV (valeurs séparées par virgule...) jusque là tout va bien le to


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales