Exemple de code à placer dans un fichier UTF-8. Utilisez pour cela Notepad++ par exemple
<!DOCTYPE html>
<HTML lang="fr">
<HEAD>
<meta charset="utf-8" />
<?php
define("RacineSite","/www/");
?>
</HEAD>
<BODY>
<div id="bloc_page">
<?php
$NomFichier = "NomFichierACreer.txt";
//Correction éventuelle du nom du fichier
$NomFichier = trim($NomFichier);
$NomFichier = strtr($NomFichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$NomFichier = preg_replace('/([^.a-z0-9]+)/i', '_', $NomFichier); //Tout ce qui n'est pas a-z0-9 etc..., le remplacer par _
//Ajout de l'emplacement de création, soit ici à la racine du site. La racine du site est ici contenue dans une variable globale.
$CheminFichier = constant('RacineSite').$Nomfichier;
if((strlen($NomFichier) > 0) && ((strlen($CheminFichier) > 0){
echo "Chemin du fichier à créer : ".$CheminFichier.".<br />\n";
//Création du fichier
$ObjFichier = fopen($CheminFichier, 'w');
//$TxtContenuFichier = preg_replace('/\r+/',CHR(13),$TxtContenuFichier); //Pour retirer les CR en trop. Les suites de CR seront remplacées par un simple et unique CR. Bref CR CR LF deviendra CR LF.
//Ecriture dans le fichier lignes
$UneChaine = 'Ceci est une ligne à écrire';
$UneChaine = $UneChaine.CHR(13).CHR(10); //Ajout en fin de ligne d'un CR (carriage return) + LF (line feed) pour avoir un saut de ligne compréhensible par Notepad. Mettre un \r\n doit également fonctionner.
fputs($ObjFichier, $UneChaine); //Ecriture dans le fichier
$UneChaine = 'Voici une autre ligne';
$UneChaine = $UneChaine.CHR(13).CHR(10); //Ajout du saut de ligne
fputs($ObjFichier, $UneChaine); //Ecriture dans le fichier
//Fermeture du fichier
fclose($ObjFichier);
echo "Ecriture du fichier terminée.";
echo "<br />\n";
echo "Lien vers le fichier : <a href=\"./MonRepertoire/MonFichier.txt\" target=\"_blank\" >cliquez ici</a>";
echo "<br />\n";
}
?>
</div> <!-- div bloc_page -->
</BODY>
</HTML>
Lien vers le fichier : cliquez ici
Je n'ai pas testé le code suivant mais je le garde sous le coude. Il est destiné à forcer le code du fichier en UTF-8 on en ANSI par exemple.
if (mb_detect_encoding($line, 'UTF-8', true) === false) {$line = utf8_encode($line);}
$line = mb_convert_encoding($line, 'UTF-8', 'OLD-ENCODING');
Lien vers le fichier : cliquez ici
Article(s) suivant(s)
Article(s) précédent(s)