Deseo abrir un fichero leer sus lineas y almacenar los campos separados por ~ en un vector.
El fichero con extensión txt, tiene el siguiente formato:
Cita:
Tengo el siguiente código, pero no hace lo que deseo0~Cena de sábado~1134342001~-40
1~Compras supermercado~959983201~-100,2
2~Nómina trabajo~1117749601~1000.99
0~Regalo cumpleaños Alicia~1110236401~-199.66
1~Compras supermercado~959983201~-100,2
2~Nómina trabajo~1117749601~1000.99
0~Regalo cumpleaños Alicia~1110236401~-199.66
Código PHP:
<?PhP
require('monedero.php');
// implementamos el objeto mi_monedero en la clase cmonedero
$mi_monedero=new cmonedero();
//abrimos el fichero
//establecemos el directorio de trabajo
chdir("C:\CursoPHP5\curso\Alumnos\xxxxxxxx\ud4\ud4");
$fichero="monedero.txt";
//abrimos monedero.txt como solo lectura y puntero al comienzo del fichero
$id_fichero= @fopen($fichero,"r")
or die("<B>Error, El fichero \"$fichero\" no se ha podido
abrir.</B><P>");
//inicializamos variables
$caracter="";
$palabra[0]="";$palabra[1]="";$palabra[2]="";$palabra[3]="";$palabra[4]="";
$cuentac=0;$cuentap=1;
//ponemos puntero al comienzo (no hace falta, ya lo estaba)
rewind($id_fichero);
//leemos el fichero linea a linea
while (!feof($id_fichero)){
// para pasarlo a variable tipo string fgets()
//para pasarlo a array fgetcsv()
$linea=fgets($id_fichero,256);
//echo "<B>$linea </B><P>";
$longitud=strlen($linea);
while ($cuentac<=$longitud) {
$caracter=$caracter+substr($linea,$cuentac,1);
$cuentac++;
echo "<br> caracter=",$caracter,"</br>";
if ($caracter!="~") {
$palabra[$cuentap]=$palabra[$cuentap]+$caracter;
} else $cuentap=$cuentap+1;
echo "<br> palabra=",$palabra[$cuentap],"</br>";
}//fin while
$cuentac=0;
//$mi_monedero->add_entrada($palabra[0],$palabra[1],$palabra[2],$palabra[3]);
}//fin while feof
/*for ($i=1;strlen($linea);$i++) {
$caracter=$caracter+substr($linea,$i,1);
echo "longitud linea=",strlen($linea)," caracter=",$caracter,"</br>";
//if ($caracter!="~") {
//$palabra[$cuenta]=$palabra[$cuenta]+$caracter;
//} else $cuenta=$cuenta+1;
}*///fin for
//while (!feof("monedero.txt")){
//$linea= fgetcsv("monedero.txt",256,"~");
//echo "<B>$linea </B><P>";
/*
for ($i=1;strlen($linea);$i++) {
$caracter=$caracter+substr($linea,$i,1);
if ($caracter!="~") {
$palabra[$cuenta]=$palabra[$cuenta]+$caracter;
} else $cuenta=$cuenta+1;
}//fin for
$mi_monedero->add_entrada($palabra[0],$palabra[1],$palabra[2],$palabra[3]);
*/
//} //fin while
?>
Salu2