extraer un csv exacto Hola, necesito extraer un data.csv con los datos que genera este php (algo que me resulta imposible porque siempre me genera </br>
En caso positivo, se puede hacer que cargue la página automáticamente cada cierto tiempo?
los datos que genera "....data.php" son estos: Cita: Categorias,04/11/2012 16:00,04/11/2012 15:00,04/11/2012 14:00,04/11/2012 13:00,04/11/2012 12:00,04/11/2012 11:00,04/11/2012 10:00,04/11/2012 09:00,04/11/2012 08:00,04/11/2012 07:00,04/11/2012 06:00,04/11/2012 05:00,04/11/2012 04:00,04/11/2012 03:00,04/11/2012 02:00,04/11/2012 01:00,04/11/2012 00:00,03/11/2012 23:00,03/11/2012 22:00,03/11/2012 21:00,03/11/2012 20:00,03/11/2012 19:00,03/11/2012 18:00,03/11/2012 17:00
Precipitacion,0.0,0.0,0.0,0.0,0.4,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0. 2,0.0,0.2
Temperatura,10.8,10.4,10.0,10.1,9.4,9.1,8.7,8.9,8. 4,8.5,8.3,8.5,8.5,8.9,9.2,9.3,9.3,9.3,10.0,10.1,10 .0,10.0,10.1,10.5
Presion,968.5,968.6,968.3,968.4,968.4,968.2,968.2, 967.5,966.6,966.3,966.0,965.5,965.6,965.9,965.9,96 6.3,966.4,966.5,966.8,967.1,967.1,967.1,966.9,966. 4
Código:
<?php
// primero se abre el documento en modo lectura "r" (read)
$handle = fopen("http://www.aemet.es/es/eltiempo/observacion/ultimosdatos_oviedo_20121008173202.csv?k=ast&l=1249X&datos=det&w=0&f=temperatura&x=", "r");
// creamos una variable que la llamaremos CONTADOR_LINEA para ir contando las líneas del documento
$contador_linea = 1;
// creamos una variable que la llamaremos CONTADOR
$contador = 0;
// se hace un WHILE que irá sacando datos mientras siga habiendo en el documento
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
// el bucle coge una línea con datos y las vamos guardando en diferentes matrices $fecha[1] para el primer dato de fecha, y lo mismo con temperatura, precipitacion y presión.
// cuando llegue al final de while y repita de nuevo el procedimiento, con $fecha[2] se guardará el segundo dato de fecha. Lo mismo con temperatura, precipitacion y presión.
//los datos los irá guardando a partir de la linea deseada. lo especificamos con un IF y la variable CONTADOR_LINEA
if ($contador_linea >= 5){
$contador++; //sumamos una unidad a CONTADOR y guardamos datos
$Categorias[$contador] = $data[0];
$Precipitacion[$contador] = $data[6];
$Temperatura[$contador] = $data[1];
$Presion[$contador] = $data[7];
}
//sumamos una unidad mas a contador_linea y seguimos con la linea siguiente
$contador_linea++;
}
//cerramos el documento con FCLOSE.
fclose($handle);
// vamos a crear otra variable llamada RECUENTO. Con él vamos a ir pasando desde el principio todas las matrices.
$recuento=1;
// Comenzamos con Fecha. Escribimos primero la categoría con su coma.
echo 'Categorias,';
// Hacemos un bucle WHILE. Mientras la variable recuento sea menor o igual que CONTADOR (el número máximo de datos que tenemos guardados).
while($recuento <= $contador){
//si recuento es igual a contador, significa que es el último, entonces lo escribimos sin la coma.
// sino es igual entonces lo escribimos con coma
if($recuento == $contador){
echo $Categorias[$recuento];
}
else{
echo $Categorias[$recuento].',';
}
//sumamos una unidad más a recuento y continuamos haciendo el while mientras siga siendo igual o menor que contador.
$recuento++;
}
//escribimos el salto de línea puesto que ya acabamos con la primera categoría.
echo "<br/>";
// volvemos a resetear la variable RECUENTO a 1 y hacemos todo el procedimiento con otra categoría.
$recuento=1;
echo 'Precipitacion,';
while($recuento <= $contador){
if($recuento == $contador){
echo $Precipitacion[$recuento];
}
else{
echo $Precipitacion[$recuento].',';
}
$recuento++;
}
echo "<br/>";
// volvemos a resetear la variable RECUENTO a 1 y hacemos todo el procedimiento con otra categoría.
$recuento=1;
echo 'Temperatura,';
while($recuento <= $contador){
if($recuento == $contador){
echo $Temperatura[$recuento];
}
else{
echo $Temperatura[$recuento].',';
}
$recuento++;
}
echo "<br/>";
// volvemos a resetear la variable RECUENTO a 1 y hacemos todo el procedimiento con otra categoría.
$recuento=1;
echo 'Presion,';
while($recuento <= $contador){
if($recuento == $contador){
echo $Presion[$recuento];
}
else{
echo $Presion[$recuento].',';
}
$recuento++;
}
?>
|