Guardar archivo en directorio

Iniciado por overxfl0w13, 2 Junio 2012, 15:27 PM

0 Miembros y 1 Visitante están viendo este tema.

overxfl0w13

Tengo un formulario con textarea. Luego abro un archivo en el cual escribo el texto del formulario y eso, procedimiento normal vamos..

El problema es que quiero guardar ese archivo en un directorio específico del servidor y no en el mismo donde se encuentra el PHP.

El php se encuentra en raiz/archivo.php
Y el directorio donde quiero guardarlo es raiz/codigos/nombredelarchivo.txt

¿ Alguna idea ?
[/url]

engel lex

Código (php) [Seleccionar]
fopen("codigos/nombredelarchivo.txt", "r");

no te sirve?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

overxfl0w13

Cita de: engelx en  2 Junio 2012, 15:59 PM
Código (php) [Seleccionar]
fopen("codigos/nombredelarchivo.txt", "r");

no te sirve?

No, ya lo he probado tio y no sé porque no da resultado :S.

Gracias :)
[/url]

engel lex

te da error? hace algo? postea parte del codigo D:

has un print_r(scan("/")); a ver si aunque sea está parado correctamente en la carpeta
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

~ Yoya ~

para ir a la raiz, tienes que agregar un slash, adelante y luego comienzas a escalar directorio, ejemplo:

Citar/home/usuario/www/html

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

engel lex

para ir a la raiz, tienes que agregar un slash, adelante y luego comienzas a escalar directorio

nope, no funciona asi en php, eso es en html... en php usas "../" para bajar de directorio y para ir a la raiz tienes que medir D:


overxfl0w13
corrijo mi codigo, te lo di mal, es

Código (php) [Seleccionar]
print_r(scandir("."));

ahi vez los archivos que hay en tu directorio, usa eso como guia XD no me acuerdo las otras funciones, pero segudo en php.net las consigues junto con scandir
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

~ Yoya ~

#6
Cita de: engelx en  2 Junio 2012, 19:36 PM
para ir a la raiz, tienes que agregar un slash, adelante y luego comienzas a escalar directorio

nope, no funciona asi en php, eso es en html... en php usas "../" para bajar de directorio y para ir a la raiz tienes que medir D:

LOL

Cuando vayas a decir algo como eso, por lo menos agrega fuentes directamente desde la documentación de PHP. Porque lo único que haces es confundir.

Código (php) [Seleccionar]
<?php
print_r
(scandir('/'));

?>


yoya@Debian:~/www/public/pruebas$ php xd.php
Array
(
   [0] => .
   [1] => ..
   [2] => .pulse
   [3] => .pulse-cookie
   [4] => bin
   [5] => boot
   [6] => dev
   [7] => etc
   [8] => home
   [9] => initrd.img
   [10] => lib
   [11] => lost+found
   [12] => media
   [13] => mnt
   [14] => opt
   [15] => proc
   [16] => root
   [17] => run
   [18] => sbin
   [19] => selinux
   [20] => srv
   [21] => sys
   [22] => tmp
   [23] => usr
   [24] => var
   [25] => vmlinuz
)


Tienes que agregarle slash al principio, para ir directamente a la raiz, luego avanzas hasta el DOCUMENT_ROOT...

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

overxfl0w13

#7
Gracias a los 2, el problema es que no es en local sino ya en servidor. Y creo que la cosa no funciona igual no? :S.

EDIT: Ya está resuelto, el problema era que ponía barra delante del directorio raiz :)
Un saludo :)
[/url]

engel lex

@yoya XD sorry XD tienes razón de apelar documentación XD
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

WHK

#9
Código (php) [Seleccionar]
<?php file_put_contents(dirname(__file__).'/codigos/test.txt''algo');
Recuerda hacer un mkdir para crear el directorio nuevo en caso de que este no exista con un 0755 y con modo recursivo en true, en caso de fallar retornas un mensaje de error.

En ves de utilizar scandir pueden usar mejor glob() para evitar el retorno de . y .., y todo en un solo array glob('*'); o si no glob(dirname(__file__).'/*') para evitar mostrar otros directorios en el caso de que se esté ejecutando desde un php padre y el script real esté incluido solamente, recordar que __file__ te da la ruta real del archivo aunque este esté incluido pero hay otras funciones que para ellos el directorio local es el archivo principal que está incluyendo lo demás y es un problema al momento de trabajar con directorios estructurados como por ejemplo los sistemas modulares.