Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2008, 08:36
InfestedART
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
guardar archivos subidos en carpetas creadas por codigo

Bueno, este es mi primer post y la duda que tengo no es nada simple:

estoy haciendo una aplicacion web donde un usuario puede subir archivos de texto a un servidor linux. Cada usuario tiene que tener una carpeta en este servidor y todos los archivos que este usuario suba tienen que guardarse en su carpeta.

con este form, realizo la subida de archivos:

<form method=post ENCTYPE='multipart/form-data' action=pagina.php>
<table align=center rules=all border=1>
<tr bgcolor=003377><td><font color=CYAN><strong>SUBIR INFORME<td></tr>
<input type=hidden name=reg value=$username>
<tr><td><input type=file name=informe size=80></td></tr>
<tr><td><input type=submit value=SUBIR></td></tr>
</table>
</form>



en la siguiente pagina, creamos la carpeta del usuario '$username'
<?php
mkdir("uploads/".$username, 0755, true);
/* esto crea la carpeta del usuario con el nombre del usuario y todos los permisos */

Y el problema radica aqui:
move_uploaded_file ($_FILES['informe'] ['tmp_name'],
"/var/www/web1/web/uploads/".$username."/{$_FILES['informe'] ['name']}") )
?>

// y este codigo supuestamente guarda el archivo que hemos subido en la carpeta
que acabamos de crear, pero me devuelve el siguiente error:
Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10001 is not allowed to access /var/www/web1/web/uploads/usuario owned by uid 33 in /var/www/web1/web/pagina.php on line 63


si guardo el archivo en otro lugar (no en la carpeta creada para el usuario, sino solamente en "/uploads/archivo.txt") todo funciona correctamente.

¿que puedo hacer, que estoy haciendo mal, como cambio el UID del script?