Ayuda al crear archivo en servidor!

Iniciado por NeoB, 26 Febrero 2012, 18:23 PM

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

NeoB

Tengo este código en un archivo .php en /var/www y quiero que me cree un archivo y que escriba Hola!! pero no me funciona. Tengo este código:
Código (php) [Seleccionar]

<?php
$file
=fopen("texto.txt","r");
fwrite($file"Hola!!!");
fclose($file);
?>


El servidor es apache 2.x con php5  en linux.
Quiero que al visitar la página se me cree el archivo en el mismo directorio en el que está alojado con nombre "texto.txt" pero luego hao un "ls" en el servidor y todo sigue igual, no se crea nada. ¿Pueden ayudarme porfavor?

wirelesswifi

#1
Asi:

Código (php) [Seleccionar]
<?php
$file
=fopen("texto.txt","w");
fwrite($file"Hola!!!");
fclose($file);
?>


Estabas leyendo el documento de texto con r con w escribes.

Saludos!

satu

Hola

El problema es que estás abriendo el fichero en modo lectura "r", para hacer lo que quieres debes crearlo con fopen("texto.txt", "w");

Te vendría bien leerte esto

Saludos


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Breakbeat como forma de vida

NeoB

Muchas gracias. Además de lo que me dijistéis, encontré que no tenía permisos de escritura ese directorio. Hice un "chmod ugo+rw /var/www" y consegí que me funcionase... Pero, ¿no es peligroso dar esos permisos?.
Gracias por la ayuda.

WHK

Si tu sistema es hackeable entonces si es peligroso, pero si es seguro entonces no hay problema.
En casi todos los sistemas webs debes dejar por lo menos un directorio libre para sobreescritura como por ejemplo el de uploads, temporales, etc asi que da lo mismo.

Quitale los permisos de ejecución a ese directorio.

Saludos.

NeoB

#5
No le puse permisos de ejecución, sino de escritura y lectura. Cuando digo lo de peligroso, me refiero a que si es posible que alguien cuelgue archivos saltándose los pasos, es decir, que si me podrían subir archivos ahí sin ni siquiera pasar por la página, con un cliente? ahí lo puse en la raíz web de ejemplo, en realidad, solo tiene permisos de escritura un directorio, que es donde se guardan los artículos que la gente publica.

WHK

podrias hacer que solo usuarios logueados cuelguen archivos y si alguien te está floodeando el directorio le cierras la cuenta y le eliminas los archivos asociados a esa cuenta (podria ser un directorio con el id de usuario) y si no está logeado que ingrese una captcha.

También puedes limitar el numero de uploads por dia por cada ip.

NeoB

Buena idea lo de los usuarios con su directorio. Gracias.