Foros del Web » Programando para Internet » PHP »

Como funciona este script?

Estas en el tema de Como funciona este script? en el foro de PHP en Foros del Web. Hola foreros, he encontrado este script para leer archivos csv, lo que quisiera saber es el funcionamiento del mismo, he añadido los comentarios que veran ...
  #1 (permalink)  
Antiguo 11/04/2007, 06:40
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Como funciona este script?

Hola foreros, he encontrado este script para leer archivos csv, lo que quisiera saber es el funcionamiento del mismo, he añadido los comentarios que veran a continuacion que es lo que yo he entendido pero me gustaria asegurarme de la interpretacion
Código PHP:
$fp fopen "archivo.csv" "r" ); //abre el archivo
$i 1;
while (( 
$data fgetcsv $fp 1000 "," )) !== FALSE ) { /* Mientras hay líneas que leer, pero no se que significa el 1000 */
foreach($data as $row) { /*recorre el archivo, pero no se bajo que estructura trae los valores de cada columna, supongo que es un array, pero si quisiera leer de una fila en particular una columna determinada, suponiendo que no se de antemano la cantidad de filas pero si las columnas*/

echo "Campo $i: $row<br>"/* Muestra todos los campos de la fila actual, y si quisiera mostrar el campo 2 de la fila actual como???*/
$i++ ; 


echo 
"<br><br>";

fclose $fp ); 
Desde ya se agradece. Saludos
__________________
->Aprender es un proceso que incluye el error..
  #2 (permalink)  
Antiguo 11/04/2007, 06:52
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Como funciona este script?

Efectivamente, al principio abre el archivo con FOPEN, en modo lectura.

Después crea una variable numérica ($i) y la pone a 1, para irla incrementando después en el bucle.

Hace la función fgetcsv() para extraer datos del CSV. Ese 1000 es el número de caracteres máximo por línea. Asignando este valor se agiliza el proceso, ya que si es ilimitado podría ralentizar bastante la operación.

Puedes documentarte sobre esta función en www.php.net/fgetcsv

A continuación utiliza el Foreach para mostrar, por cada línea encontrada (o segmento, ya que los ha encontrado a través de la separación de comas ",") ese mensaje de "Campo (número): (información extraída)"

Incrementa el valor numérico $i, para que si antes era un 1, ahora haga lo mismo con el 2. Si era un 2, con el 3, y así succesivamente.

Finalmente cierra el archivo -deja de leerlo- con fclose();

Suerte
  #3 (permalink)  
Antiguo 11/04/2007, 07:17
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Como funciona este script?

Muchisimas Gracias david_M_G por la pronta respuesta, ahora me surge otra duda, supongamos que la primer linea que es la que trae los nombres de cada columna no la quiera mostrar, es decir que empieze a partir de la segunda, como deberia corregir el codigo, por ejemplo he probado haciendo $row[1], pero eso me devuelve el segundo caracter de cada fila, la verdad es que no se como hacerlo, la otra que habia pensado es colocar una funcion que evalue el contenido de la fila, y si son letras que no las muestre es decir solo me interesan los numeros, me podrias hechar otra mano, y con respecto a la funcion cual deberia utilizar. Saludos
__________________
->Aprender es un proceso que incluye el error..
  #4 (permalink)  
Antiguo 11/04/2007, 12:51
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Como funciona este script?

No entiendo qué quieres decir con "columna", ya que me limité a traducir el código y desconozco el uso de los archivos con extensión CSV.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.