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?