Y mejorado:
Código PHP :
<?php
// Variables necesarias donde seteo todo lo que necesito
$txt_file = "data.txt";
$csv_file = "data.csv";
$sustituido = " ";
$sustituto = ",";
// Compruebo que exista el txt
if (!file_exists($txt_file)) {
echo "<br/>No existe el archivo txt necesario<br/>";
exit;
}
// Lo leo
echo "Archivo txt encontrado...<br/>";
echo "Leyendo el archivo txt ...<br/>";
$txt_read = file($txt_file);
echo "Leído el archivo txt ...<br/>";
// Abro el CSV donde ire guardando los datos
$csv_open = fopen($csv_file,"w");
if ($csv_open === FALSE) {
echo "No se pudo abrir el archivo csv para introducir los datos.<br/>";
}
// Sustituyo caracteres que quiero y voy guardando en el csv
foreach ($txt_read as $row) {
$line = $row;
echo "<br/>Sacando la linea : ".$line."<br/>";
$line_fix = str_replace(" ",";",$line);
echo "Convirtiendo en la línea : ".$line_fix."<br/>";
$csv_write = fwrite($csv_open,$line_fix);
if ($csv_write === FALSE) {
echo "LINEA ESCRITA EN EL CSV --> ERROR<br/>";
exit;
}
echo "LINEA ESCRITA EN EL CSV --> OK<br/>";
}
echo "<br/>El archivo ".$csv_file." ha sido escrito correctamente.<br/>";
// Cierro el csv
$csv_close = fclose($csv_open);
// Ya tengo preparado el csv y listo para usar
// Compruebo el contenido del archivo csv en pantalla
echo "<br/>El archivo ha quedado así.<br/>";
foreach (file($csv_file) as $line) {
echo $line."<br/>";
}
?>
Te lo he puesto para que veas las diferentes fases cuando lo ejecutes.
Sin ello sería:
Código PHP :
<?php
$txt_file = "data.txt";
$csv_file = "data.csv";
$sustituido = " ";
$sustituto = ",";
if (!file_exists($txt_file)) {
echo "<br/>No existe el archivo txt necesario<br/>";
exit;
}
$txt_read = file($txt_file);
$csv_open = fopen($csv_file,"w");
if ($csv_open === FALSE) {
echo "No se pudo abrir el archivo csv para introducir los datos.<br/>";
}
foreach ($txt_read as $row) {
$line = $row;
$line_fix = str_replace(" ",";",$line);
$csv_write = fwrite($csv_open,$line_fix);
if ($csv_write === FALSE) {
echo "Error al escribir el csv<br/>";
exit;
}
$csv_close = fclose($csv_open);
?>