Ayuda con Arrays y paso de variables...

Necesito hacer que una página de PHP lea variables de un archivo .TXT, luego que realice operaciones con las variables que ha leído, como puede ser sumar, luego grabar el resultado en el mismo archivo .TXT y luego mostrar el resultado de las operaciones...
Se un poco de PHP pero hay cosas q' no tengo claras, busque en Internet pero no he encontrado información muy detallada q' me sirva sobre los comandos:
File(), fputs(), fopen(), y fwrite()...
Si me podrías mandar un PHP de ejemplo me seria de gran utilidad...
=^_^=

1 respuesta

Respuesta
1
La función file devuelve un array en el que cada elemento de dicho array es una file del archivo:
$array=file("archivo.txt");
Con fopen abrimos un fichero para lectura, escritura y con fputs copiamos valores en el fichero (sobrescribiendo o añadiendo) y fwrite es igual que fputs.
Con fgets leemos datos del fichero.
Puedes obtener toda la información en la página del php:
http://es2.php.net/manual/es/function.fgets.php
Bueno, las cosas básicas y las definiciones si las conozco, y problema es q' hay solo algunas cosas q' no las tengo claras...
Por ejemplo, quiero hacer un código de PHP el cual reciba datos de una fuente externa, estos sean sumados a los q' ya están guardados en un archivo .TXT, y luego guarde los nuevos resultados en el archivo .TXT y luego mande los resultados de salida...
En el archivo .TXT esta esto:
$Op1=36
$Op2=15
$Op3=56
$Op4=89
$Op5=62
Después pensándolo mejor solo puse los números nada más...
Bueno, también quisiera saber si hay alguna forma de separar las variables cuando están en una sola linea, como en ActionScript con el carácter "&"
Ejemplo:
&$Op1=36&$Op2=15&$Op3=56&$Op4=89&$Op5=62&
--------------------
El código PHP q' he hecho hasta ahora es este:
<?PHP
$fichero = "Encuesta.txt";
$Array = file($fichero,"r")
// Segun lo q' me dices creo q' es asi...
// Desde aqui...
$Op1=$Array[0];
$Op2=$Array[1];
$Op3=$Array[2];
$Op4=$Array[3];
$Op5=SArray[4];
// Hasta aca...
$Op1=$Op1+$POp1;
$Op2=$Op2+$POp2;
$Op3=$Op3+$POp3;
$Op4=$Op4+$POp4;
$Op5=$Op5+$POp5;
// Bueno, Aqui trato de guardar las variables en el .TXT (Corrigeme si no es asi...)
$fp = fopen( $filename,"w");
fwrite($fp, $Op1);
fwrite($fp, $Op2);
fwrite($fp, $Op3);
fwrite($fp, $Op4);
fwrite($fp, $Op5);
fclose($fp);
// A partir de aqui es la salida de datos a la pelicula de Flash...
// La salida de datos es hacia una película de Flash, por eso para separar las variables pongo "&"...
echo &Op1=$Op1&Op2=$Op2&Op3=$Op3&Op4=$Op4&Op5=$Op5&;
?>
¿Qué tendría q' cambiar para q' funcione el código?...
Saludos...
[ET]Av-Squadron
Iré contestando por partes:
Como estos ficheros de textos los creas y los lees tu, los puedes guardar en cualquier formato, es decir, cada valor en una linea, o bien en la misma linea, pero separándolos por algún símbolo (&, @, #, ;, espacio en blanco, etc). La manera de guardar las variables no es correcta porque sobreescribes sobre el archivo.
Guarda todos los valores que quieras guardar en el fichero en una sola variable:
$salida=$Op1."\n";
$salida.=$Op2."\n";
$salida.=$Op3."\n";
$salida.=$Op4."\n";
$salida.=$Op5;
Y ahora lo guardas en el fichero.
fwrite($fp, $salida);
Por cierto, no has dicho en que te fallaba el código.
Bueno, tiene básicamente 2 fallas...
1.- Parece q' no lee ni guarda nada en el fichero, porque si por ejemplo el valor q' debía sumar era 1, solo sale 1 de respuesta, en vez de salir el 1 sumado a la cantidad anterior q' estaba en el fichero...
2.- Aveces después de unos segundos después de haber mostrado la respuesta en la página .html donde esta la película de Flash, después el navegador llama a otra supuesta página .php (pero q' tiene el nombre de la q' se supone debe procesar los datos, en este caso Encuesta.php) con una URL pero como si tratara de pasarle las variables...
Me imagino q' esto es un problema menor y debido a la mala programación de la página .php ...
Voy a modificar el código con lo q' dices y lo probare...
También quisiera saber como puedo hacer para poder probar los códigos de .php si funcionan o no cuando estoy OFF LINE, porque ahora tengo q' estar sibiendo los ficheros al server y luego probar...
=^_^=
Saludos...
Avatar of woe / [ET]Av-Squadron
El error 2, la verdad es que sin saber como lo tienes montado poco te puedo decir, pero parece ser que tienes un php que procesa estos ficheros de texto y otro con flash que lee dichos ficheros. Esto lo ha hecho alguna vez yo, :)
Para probar esto OFF LINE (supongo que en tu propio PC) debes intalarte el PWS y el php (hay un a version para windows muy fácil de instalar), dado que no parece que uses aquí bases de datos.
EL PWS (personal web server) es un componente más del windows, si no lo tienes instalado, mete tu CD del windows para añadir nuevos componentes y lo instalas, al menos en el W'98 es así
He instalado un buen programa para procesar PHP q' incluye todo lo necesario, también ya logre q' funcione, cualquier duda te preguntare después...
=^_^=

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas