puede hacerlo fácilmente de esta manera
$txt_file = file_get_contents('path/to/file.txt');
$rows = explode("\n", $txt_file);
array_shift($rows);
foreach($rows as $row => $data)
{
//get row data
$row_data = explode('^', $data);
$info[$row]['id'] = $row_data[0];
$info[$row]['name'] = $row_data[1];
$info[$row]['description'] = $row_data[2];
$info[$row]['images'] = $row_data[3];
//display data
echo 'Row ' . $row . ' ID: ' . $info[$row]['id'] . '<br />';
echo 'Row ' . $row . ' NAME: ' . $info[$row]['name'] . '<br />';
echo 'Row ' . $row . ' DESCRIPTION: ' . $info[$row]['description'] . '<br />';
echo 'Row ' . $row . ' IMAGES:<br />';
//display images
$row_images = explode(',', $info[$row]['images']);
foreach($row_images as $row_image)
{
echo ' - ' . $row_image . '<br />';
}
echo '<br />';
}
Primero se abre el archivo de texto usando la función file_get_contents()
y luego se corta la cadena en los caracteres de nueva línea utilizando la función explode()
. De esta forma obtendrá una matriz con todas las filas separadas. Luego, con la función array_shift()
puede eliminar la primera fila, ya que es el encabezado.
Después de obtener las filas, puede recorrer la matriz y poner toda la información en una nueva matriz llamada $info
. Luego podrá obtener información por fila, comenzando en la fila cero. Entonces, por ejemplo, $info[0]['description']
sería Some text goes here
.
Si quiere poner las imágenes en una matriz también, puede usar explode()
también. Sólo tiene que utilizar esto para la primera fila: $first_row_images = explode(',', $info[0]['images']);
@Michiel Pater gracias por la headsup, el problema es, cuando llegue a las imágenes, var_dump() simplemente da salida: IMÁGENES 123IMAGES 123IMAGES 123IMAGES 123IMAGES 123IMAGES 123IMAGES 123 alguna idea? – terrid25
@ terrid25: ¿Has probado mi nuevo código (actualizado)? En caso afirmativo, publique el código que está utilizando para 'var_dump()'. –
@ terrid25: Estoy usando el siguiente código: 'var_export (explode (',', $ info [1] ['images']))'. Emite: 'array (0 => 'image_1.jpg', 1 => 'image_2.jpg',)'. –