Foros del Web » Programando para Internet » PHP »

guardar resultado en archivo de texto

Estas en el tema de guardar resultado en archivo de texto en el foro de PHP en Foros del Web. tengo el siguiente codigo <?php // este codigo deveria hacer la tirada de dados hechas por el usuario no este vacia los campos nesesarios if(isset($_POST['rason']) ...
  #1 (permalink)  
Antiguo 22/11/2008, 17:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación guardar resultado en archivo de texto

tengo el siguiente codigo

<?php

// este codigo deveria hacer la tirada de dados hechas por el usuario no este vacia los campos nesesarios
if(isset($_POST['rason']) && !empty($_POST['rason']) &&
isset($_POST['dados']) && !empty($_POST['dados']) &&
isset($_POST['caras']) && !empty($_POST['caras'])) {
// envia la informacion del post a las variables
$rason=$_POST['rason'];
$dados=$_POST['dados'];
$caras=$_POST['caras'];
$num=0;
$mod=$_POST['mod'];
$count=1;
$res=0;
// comienza el cilco de los dados cuantos dados tienes que tirar?
while($count<=$dados){
if($caras == 6){
$count++;
$num = rand(1,6);
}else{
if($caras == 10){
$count++;
$num = rand(1,10);
}else{
if($caras == 100){
$count++;
$num = rand(1,100);
}else{
echo (" Los dados no son correctos; revise el numero de caras");
}
}
}
//suma el dado tirado a la suma anterior de los dados
$res = $num+$res;
$num=0;
}
//de existir un modificador lo suma
$res=$res+$mod;
$count=0;
// imprime la informacion de dados lanzados y el resultado
echo ("lanza por ".$_POST['rason']." son ".$_POST['dados']." dados de ".$_POST['caras']." mas modificador ".$_POST['mod']." resultado ".$res);
}else {
// de aver algun tipo de problema se activa este mensaje
echo ("Error, en el sistema");

}

?>


el resultado que me manda es este:

lanza por practica son 3 dados de 6 mas modificador +15 resultado 30

como se hace en php para que en ves de imprimir lo guarde en un archivo de texto??? en el directorio de la web saviendo que ya existe el archivo y que se le va a gragr mas texto del que tien en pocas palabras como un textare pero en php XD
  #2 (permalink)  
Antiguo 22/11/2008, 17:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: guardar resultado en archivo de texto

revisa el manual, en las funciones del sistema de archivos

suerte!

PDTA: ¿muchos post para algo tan simple??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 22/11/2008 a las 17:38
  #3 (permalink)  
Antiguo 22/11/2008, 17:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

en que lugar esta eso en los faq???

PDT: ok es que son cosas que no se una que le sigue a la otra uff asi es como estoy aprendiendo y quiero hacer muchas cosas tengo diferentes ideas
  #4 (permalink)  
Antiguo 22/11/2008, 17:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: guardar resultado en archivo de texto

si, puede ser en las FAQ's

pero la verdadera y unica (la original) fuente de documentación, es la pagina oficial de PHP

http://www.php.net/manual/es/index.php

ahí, buscas las funciones del sistema de archivos o las que se te antojen..

te recomiendo echarle un vistazo, ya que muchas funciones están ahí, explicadas, con ejemplos, etc... animo!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/11/2008, 17:47
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

estube buscando y queria que saltara una linea y no me imprima una cosa detras de la otra y como esta en el manual le puese este codigo:


echo (" Dado N".$count." Resultado".$num \n);


se supone que el \n es para saltar lineas y me manda el siguiente error:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\xampp\htdocs\rold.php on line 34

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\rold.php on line 34
  #6 (permalink)  
Antiguo 22/11/2008, 18:55
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: guardar resultado en archivo de texto

Tienes que meter el "\n" dentro de comillas DOBLES (no funcionara con comillas simples).
  #7 (permalink)  
Antiguo 22/11/2008, 19:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

no se puede me manda cualquier cosa menos lo que nesesito aki le spongo lo que e intentado

echo (""\n" Dado N".$count." Resultado".$num.);

echo (" Dado N".$count." Resultado".$num."\n");

echo (" Dado N".$count." Resultado".$num"\n"); //quitando el ultimo punto de .$num.

echo (""\n" Dado N".$count." Resultado".$num);
  #8 (permalink)  
Antiguo 22/11/2008, 19:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

este es el resultado que me manda
Dado N2 Resultado5Dado N3 Resultado2Dado N4 Resultado5lanza por practica son 3 dados de 6 mas modificador 0 resultado 12

asi es como lo quiero
Dado N 2 Resultado 5
Dado N 3 Resultado 2
Dado N 4 Resultado 5
lanza por practica son 3 dados de 6 mas modificador 0 resultado 12
  #9 (permalink)  
Antiguo 22/11/2008, 20:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

la cuestion es que quiero guardar lo que rsulta del echo en un .txt y que la letra osea el contenido sea de color rojo
asi es como lo quiero
Dado N 2 Resultado 5
Dado N 3 Resultado 2
Dado N 4 Resultado 5
lanza por practica son 3 dados de 6 mas modificador 0 resultado 12
  #10 (permalink)  
Antiguo 22/11/2008, 20:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: guardar resultado en archivo de texto

Es que con echo no estás guardando un archivo, estás enviando una salida HTML, y el navegador no va a reconocer el carácter de salto de línea (\n) como un salto de línea, el navegador salta a la línea siguiente con un <br />. Si quieres guardar un archivo, no uses echo, puedes usar, por ejemplo, fopen() (http://www.php.net/manual/es/function.fopen.php) para abrir el archivo en el modo escritura, y escribe en él usando fwrite().
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 22/11/2008, 20:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

ok gracias por todo hay estoy ya me diste una idea buena ahaora pruevo el codigo y lo su a ver si es asi o que
  #12 (permalink)  
Antiguo 23/11/2008, 01:24
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: guardar resultado en archivo de texto

fopen
fputs
fwrite
fclose
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #13 (permalink)  
Antiguo 23/11/2008, 10:11
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

ok ya tengo la funcion para abrir y ya se como se usa pero ninguna de las opciones, me da la avilidad de abrir sin borrar lo que esta escrito, ubicarme una linea devajo del ultimo dato insertado en el txt y escribir un nuevo dato...? alguien tiene alguna idea XD
  #14 (permalink)  
Antiguo 23/11/2008, 10:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: guardar resultado en archivo de texto

Tienes que pasarle esto a fopen:

$foo = fopen('tuarchivo.loquesea', 'a');

'a' significa APPEND, que es como ANEXAR. se colocara en la ultima linea y no borrara lo ya escrito. Pero tienes que pasarle tu el salto de linea, sino te escribe todo en la misma linea

Código PHP:
<?php
$foo 
fopen('archivo.log''a');
fwrite($foo"Esto es una linea \n");
fclose($foo);
?>
El caracter \n significa salto de linea en archivos de texto PLANO. Sin embargo en HTML, estos saltos de linea no se representaran como tales a menos que le pases los headers correspondientes.
  #15 (permalink)  
Antiguo 25/11/2008, 07:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: guardar resultado en archivo de texto

buen aporte ronruby
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 18:29.