Foros del Web » Programando para Internet » PHP »

php + txt

Estas en el tema de php + txt en el foro de PHP en Foros del Web. Hola a todos. Soy novato al php. No soy muy bueno programando de cero. Soy más bien de usar los script de otros y necesito ...
  #1 (permalink)  
Antiguo 16/01/2009, 00:13
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
php + txt

Hola a todos.
Soy novato al php. No soy muy bueno programando de cero. Soy más bien de usar los script de otros y necesito ayuda.
1) Ya se como crear un archivo txt pero no se como poner como nombre una variable de un formulario.
2) Si agrego varios datos como puedo leer y modificar solo un determinado dato?
Espero cualquier tipo de ayuda. Incluso mails a emmotic @ gmail . com o a emmotic @ hotmail . com.
Desde ya muchas gracias. Espero no molestar mucho con mi pequeña duda.
Emmotic
  #2 (permalink)  
Antiguo 16/01/2009, 00:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: php + txt

hola... tal ves quieras revisar estos apuntes

http://www.forosdelweb.com/f18/aport...-texto-593101/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/01/2009, 07:24
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: php + txt

Muchas gracias por responder pateketrueke. Estuve leyendo lo que me dijiste y escribí el siguiente código. Sin embargo no funciona. Me puedes decir que es lo que está mal?
Código:
<html>
<head>
<title>Registrando...</title>
</head>
<body>
<?php
  $ar=fopen("$_REQUEST['Nick'].txt","a") or
// Aquí debería crear un archivo txt con la variable Nick
    die("Problemas en la creacion");
  fputs($ar,$datos = "$_REQUEST["Nick"]\$_REQUEST['Password']\$_REQUEST['Email']";
// Aquí debería escribir los datos Nick, Password y Mail
  echo "Los datos se cargaron correctamente.";
  ?>
</body>
</html>
  #4 (permalink)  
Antiguo 16/01/2009, 11:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: php + txt

pues, esta mal tu sentido común.... ¿que errores te mostraba???

Código PHP:
<?php
// Aquí debería crear un archivo txt con la variable Nick "+ para crear"
  
$ar=fopen($_REQUEST['Nick'] . ".txt","a+") or
    die(
"Problemas en la creacion");

// Aquí debería escribir los datos Nick, Password y Mail

$datos "$_REQUEST[Nick]|$_REQUEST[Password]|$_REQUEST[Email]";

 
fwrite($ar$datos);

  echo 
"Los datos se cargaron correctamente.";

fclose($ar); // y te falto cerrar
  
?>

por favor, lee el manual de PHP, lo básico... mínimo por cada función que uses, y no sepas utilizar....

http://php.net/fopen
http://php.net/fclose
http://php.net/fwrite
http://php.net/fputs


también te recomiendo esta lectura

http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/01/2009, 16:09
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: php + txt

Nuevamente gracias por la respuesta. Ahora bien, si quiero leer un determinado dato, se haría así?
Código PHP:
<?php
$datos 
file('xxxx.txt');
// Obtiene los datos del txt
$datos explode("|"$datos); //los separa
echo $datos[0]; // dato1
echo $datos[1]; // dato2
?>
Cuando hago esto lo único que muestra la página es Array. Me puedes decir donde está el problema?
Disculpa las molestias y mi falta de conocimientos.
  #6 (permalink)  
Antiguo 16/01/2009, 16:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: php + txt

no... primero, file() crea un array, por eso al usar explode() no pasa nada, solo un error...

el orden correcto es...

Código PHP:
$data file('foo.dat');

// primero la fila...

$set $data[2];

// columnas...

$set explode("|"$set);

echo 
$set[0]; 
PDTA: no te disculpes, tan solo pon mas dedicación...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 16/01/2009, 19:10
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: php + txt

Muchísimas gracias!
Una última cosa: Estuve leyendo y en lugar de poner
Código PHP:
fopen($_REQUEST['Nick'] . ".txt","a+"
se puede cambiar la a+ por x+ y evitar que los datos se excriban en un mismo documento.
La pregunta es: cómo hago para que al dar error porque el archivo ya existe, redireccione a una página determinada?

Tendría que cambiar la parte del die...
Código PHP:
  $ar=fopen($_REQUEST['Nick'] . ".txt","x+") or
    die(
"Problemas en la creacion"); 
...por algo así?

Código PHP:
  $ar=fopen($_REQUEST['Nick'] . ".txt","x+") or
    die(echo 
"<head><meta http-equiv="refresh" content="5url=http://www.tudominio.com"></head>"
echo "Hemos Cambiado de dominio a ...."); 
  #8 (permalink)  
Antiguo 16/01/2009, 22:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: php + txt

hacer todo en una sola instrucción no es la mejor forma de abordar un problema...

te recomiendo leas la mayoría de las funciones básicas, para que sepas que hacer...

Código PHP:
if ( ! is_file('foo.dat'))
{
  
header('Location: /pagina.html');
}

// fopen() ... 
así como estructuras de control, if-then-else, etc, etc... por ahora, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 16/01/2009, 22:46
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: php + txt

Cita:
La pregunta es: cómo hago para que al dar error porque el archivo ya existe, redireccione a una página determinada?
Tambien puede usar al funcion file_exists().
  #10 (permalink)  
Antiguo 16/01/2009, 23:31
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: php + txt

Supongo que tengo que usar una estructura if else. Leí unos documentos y llegué hasta este código. Pro no funciona...

Código PHP:
<?php
if (is_file('pruebatxt'))
{
  
header('Location: /página.html');
}
else {
  
fputs($ar,$datos "$_REQUEST["Nick"]\$_REQUEST['Password']\$_REQUEST['Email']";
  echo 
"Los datos se cargaron correctamente.";
}
  
?>
Me da el siguiente error:

Cita:
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING on line 12
Traté de hacer algo parecido con la función file_exists() pero tampoco llegué a nada.

Gracias Ronruby y pateketrueke por tratar de ayudarme.
  #11 (permalink)  
Antiguo 16/01/2009, 23:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: php + txt

estas haciendolo al revés...

ya que debes conducir.... lo contrario

Código:
SI (NO ES_ARCHIVO(foo.dat))
{
  REDIRECCIONA;
}
osea...

Código PHP:
if ( ! is_file('foo.dat') or ! file_exists('foo.dat'))
{
  
// no existe, redireccion



por lo de tu error, se debe al mal uso de comillas, te sugiero leas esto..

http://www.forosdelweb.com/f18/como-...s-bien-588701/



demás sigues sin cerrar el paréntesis de fputs()

y otra mala... no debes pensar que haciendo la asignación como argumento funciona, esta mal!

debes hacer la asignación primero, y usar la variable solamente como argumento...

incorrecto

Código PHP:
   fputs($ar$datos "$_REQUEST["Nick"]|$_REQUEST['Password']|$_REQUEST['Email']"
correcto

Código PHP:
 $datos "$_REQUEST[Nick]|$_REQUEST[Password]|$_REQUEST[Email]";
  
fputs($ar$datos); 
aún así, te falta abrir el archivo... con fopen() y al final cerrarlo con fclose()

PDTA: no dejes de leer, nada mejor que el manual de PHP en español

- http://www.php.net/manual/es/index.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 17/01/2009 a las 09:38
  #12 (permalink)  
Antiguo 17/01/2009, 00:31
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: php + txt

Código final:

Código PHP:
<?php
if (! is_file($_REQUEST['Nick'] . ".txt"))
{
$ar=fopen($_REQUEST['Nick'] . ".txt","a+");
{
  
$datos "$_REQUEST[Nick]|$_REQUEST[Password]|$_REQUEST[Email]";
  
fwrite($ar$datos);
  echo 
"Los datos se cargaron correctamente.";}
}
else {
  
header('Location: /pagina.html');
}
  
?>
Funciona y todo!
Muchísimas gracias pateketrueke
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 15:38.