De la difficulté de la création d'un fichier délimité par des tabulations avec PHP
Je suis en train de créer un fichier délimité par des tabulations avec PHP et d'avoir quelques ennuis. Fondamentalement, mon tabulations et les sauts de ligne ie \t
et \n
finissent par être imprimé au lieu de convertis à ce qu'ils sont censés être.
Mon code est simple:
$sql = 'SELECT * FROM products';
$res = mysql_query($sql);
$page_print = 'id \t title \t description \t price';
while($row = mysql_fetch_array($res)) {
$page_print .= $row['product_id'] . ' \t ' . $row['product_name'] . ' \t ' . strip_tags($row['product_content']) . ' \t ' . $row['product_price'] . '\n';
}
$page_print = sanitize_output($page_print);
$myFile = "products.txt";
$fh = fopen($myFile, 'w');
$stringData = trim($page_print);
fwrite($fh, $stringData);
fclose($fh);
Ce que je fais mal?
OriginalL'auteur willdanceforfun | 2011-08-12
Vous devez vous connecter pour publier un commentaire.
Vous devez les ajouter à l'aide de guillemets doubles (").
citation de PHP:
OriginalL'auteur Wesley van Opdorp
D'utiliser des guillemets autour de
\t
et\n
. Vous pouvez également utiliserPHP_EOL
constante pour la fin de la ligne.OriginalL'auteur Mchl
Au lieu d'écrire votre propre code. Vous pouvez utiliser fputcsv fonction
plus propre réponse à mon humble avis. Mais ici aussi, l' \t doit être ajouté à l'aide de guillemets doubles ("), donc:
fputcsv($fh, array('id', 'title', 'description', 'price'), "\t");
OriginalL'auteur M Kaweepatt Churcharoen
d'utiliser des guillemets
"
au lieu d'une seule'
EDIT 1
sûrement, vous pouvez également utiliser chr()
OriginalL'auteur Subdigger
\t
sera symbole de tabulation en sortie uniquement lors de l'utilisation de guillemets doubles (" "
) - http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.doubleOriginalL'auteur Timur