Sujet : Probleme de lecture d'un fichier de type.txt avec PHP
Bonjour,
Je me casse la tête depuis quelques jours sur la lecture d'un fichier .txt (que me procure un client). Ce dernier est généré par un serveur selon un codage (à priori) incompatible avec php....
Le problème posé : - j'utilise les fonctions habituelles et classiques de php pour l'ouverture du fichier, sa lecture et la récupération de l'ensemble des données
- le fichier .txt (client) comprend plusieurs variables que je "split" dans un tableau.
- lorsque je lis chacune des valeurs du tableau, il apparait des caractères bizarres (des ? pour être très précis) devant chaque lettre.
- en revanche, en avant de lancer mon petit programme, si j'ouvre le fichier original (client), que je fais un copier/coller dans un éditeur classique (type TextEdit sur Mac), que j'enregistre ce nouveau fichier .txt avec le même nom, là mon php fonctionne parfaitement.
Le but : parvenir à ouvrir et récupérer les infos correctement du fichier original .txt (client) sans avoir à faire de manipulations préalables sur le dit fichier.
Ben je ne sais si c'est tordu, compliqué, basique, hilarant pour les pros.... mais moi je m'y perds et j'ai épuisé toutes mes ressources... même après avoir parcouru des km de scripts, conseils et autres tutoriaux sur tous les sites dont je connais l'existence..... help me please !!!!!!!
le code de mon programme php :
<?php
$fichier = "test.txt";
$handle = fopen ($fichier, "rb");
$contenu = fread($handle, filesize ($fichier));
// je récupère les différentes variables du fichier en les "spitant" sur la particule "&"
$liste = preg_split("/[&]+/", $contenu);
//truc bizarre contenu dans l'entête du fichier client
$truc = $liste[0];
//Pour la variable numeromachine
$num = $liste[1];
$numeromachine = preg_split("/[=\n]+/", $num);
//Pour la variable nom
$nomtemp = $liste[2];
$nom = preg_split("/[=\n]+/", $nomtemp);
//Pour la variable deno
$denotemp = $liste[3];
$deno = preg_split("/[=\n]+/", $denotemp);
//Pour la variable gain
$gaintemp = $liste[4];
$gain = preg_split("/[=\n]+/", $gaintemp);
//Pour la variable date
$datetemp = $liste[5];
$date = preg_split("/[=\,]+/", $datetemp);
//Pour la variable heure
$heuretemp = $liste[6];
$heure = preg_split("/[=(\n)]+/", $heuretemp);
fclose($handle);
// Essai de print du contenu d'une des valeurs du tableau >>>>> voilà mon problème avec tous les ??????? qui apparaissent !!!!!!!
print_r($numeromachine);
?>