Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: ..:ALT3RD:.. en 23 Agosto 2013, 13:47 pm



Título: Duda fopen() PHP
Publicado por: ..:ALT3RD:.. en 23 Agosto 2013, 13:47 pm
Muy buenas,

la de tiempo que no me pasaba por el foro... En fin, tengo un duda algo tonta que me ha surgido mientras aprendo  PHP. Mi duda es sobre la función fopen. Quería preguntarles si esta función maneja archivos desde el cliente o desde el servidor. No sé, si estoy hablando en términos correctos así que intentaré explicarme. Cuando yo creo un formulario y mando los datos  a otra página php en el que le digo que los datos me los guarde en un .txt, esa acción se realizará particularmente en cada ordenador; es decir, guardará un .txt en todo ordenador desde el que mande la orden. O por el contrario, ¿todos los datos llegarán a mi pc? ¿A modo de base de datos digamos?


Título: Re: Duda fopen() PHP
Publicado por: ivancea96 en 23 Agosto 2013, 14:22 pm
Servidor.

A mi entender, los únicos archivos que puedes modificar en cada cliente, son las cookies.


Título: Re: Duda fopen() PHP
Publicado por: ..:ALT3RD:.. en 23 Agosto 2013, 14:26 pm
OK gracias. Es lo que suponía pero quería asegurarme porque lo veía un código demasiado simple para ese cometido que creía que abarcaría más líneas.


Título: Re: Duda fopen() PHP
Publicado por: GenR_18 en 23 Agosto 2013, 14:29 pm
Muy buenas,

la de tiempo que no me pasaba por el foro... En fin, tengo un duda algo tonta que me ha surgido mientras aprendo  PHP. Mi duda es sobre la función fopen. Quería preguntarles si esta función maneja archivos desde el cliente o desde el servidor. No sé, si estoy hablando en términos correctos así que intentaré explicarme. Cuando yo creo un formulario y mando los datos  a otra página php en el que le digo que los datos me los guarde en un .txt, esa acción se realizará particularmente en cada ordenador; es decir, guardará un .txt en todo ordenador desde el que mande la orden. O por el contrario, ¿todos los datos llegarán a mi pc? ¿A modo de base de datos digamos?

Lógicamente es en el servidor, busca cómo y dónde trabaja PHP.

Si quieres manejar archivos de la máquina tengo entendido que con objetos ActiveX en IE.

Salu2


Título: Re: Duda fopen() PHP
Publicado por: ..:ALT3RD:.. en 23 Agosto 2013, 15:05 pm
Estoy probando y no me crea el archivo. No sé donde tengo el fallo. Lo he hecho sin seguir ninguna guía pero ahora mirando un videotutorial no me parece a simple vista tener nada mal. Ojala puedan ayudarme. Estoy en linux, por cierto.

index.html

Código:
<html>


<head>



</head>

<body>

               <form action = "archivo.php" method = "post" name = "frm"> //enlace con archivo.php
 
<input type = "text" name = "archivo"/>
<input type = "submit" name = "enviar" value = "enviar"/> //se envian datos

</form>


</body>

</html>

archivo.php

Código:
<?php


$archivo = $_POST ['archivo']; //guardo los datos en variable

$fp = fopen ("$DOCUMENT_ROOT/texto.txt","a"); //manejo de archivos

fwrite ($fp,$archivo);

fclose ($fp);



?>


Título: Re: Duda fopen() PHP
Publicado por: ivancea96 en 23 Agosto 2013, 15:38 pm
Bueno, lo probé, y esto me fue bien:
Código
  1. <?php
  2. $archivo = $_POST ['archivo'];
  3. $fp = fopen ("texto.txt","a"); //manejo de archivos
  4. fwrite ($fp,$archivo);
  5. fclose ($fp);
  6. ?>
  7.  
  8. <form action="prueba.php" method="post" name="frm"> <!-- Recuerda en action poner el nombre de ESTE archivo-->
  9.  
  10. <input type="text" name="archivo"/>
  11. <input type="submit" name="enviar" value="enviar"/>
  12.  
  13. </form>

Si te sigue con algún problema, dime cuál es. Ej: "No escribe nada", o "Da error X", etc

Saludos :3


Título: Re: Duda fopen() PHP
Publicado por: ..:ALT3RD:.. en 23 Agosto 2013, 15:51 pm
Me sale el formulario, escribo una palabra, le doy a enviar y sale la pantalla en blanco de prueba.php (he cambiado de nombre archivo.php a prueba.php para ponerlo como tú) Después de esto debería crearse un archivo de texto pero no lo hace. No pasa nada. No se crea nada.


Título: Re: Duda fopen() PHP
Publicado por: #!drvy en 23 Agosto 2013, 15:55 pm
Citar
Estoy en linux, por cierto.

Dale permisos al script para que pueda crear y leer archivos. Mirate chmod.

Saludos


Título: Re: Duda fopen() PHP
Publicado por: ..:ALT3RD:.. en 23 Agosto 2013, 16:07 pm
 :D Era eso  :D

Gracias a todos, llegué a pensar que era eso pero al poder crear el .txt manualmente supuse que ya tenía los permisos.


Título: Re: Duda fopen() PHP
Publicado por: GenR_18 en 26 Agosto 2013, 00:39 am
:D Era eso  :D

Gracias a todos, llegué a pensar que era eso pero al poder crear el .txt manualmente supuse que ya tenía los permisos.

Es modificar los permisos del fichero, no del usuario, es diferente...

Salu2