Problemas con la carga de imágenes por POST (con move_uploaded_file)

margon
06 de Mayo del 2006
Tengo problemas con la carga de imágenes por POST (con move_uploaded_file).

El error que aparece es

Possible file upload attack!
Debugging info:Array
(
[archivousuario] => Array
(
[name] => Array
(
[0] => imagen.jpg
)

[type] => Array
(
[0] => image/pjpeg
)

[tmp_name] => Array
(
[0] => /tmp/phpE3DJai
)

[error] => Array
(
[0] => 0
)

[size] => Array
(
[0] => 12360
)

)

(Estoy manejando un array de cuatro imágenes y sólo indiqué el error que aparece para una de ellas).

Al parecer es la carpeta, el administrador del servidor (en linux debian) me indicó mi ruta:

/home1/Server/system/imgs

aunque creemos que es suficiente indicar sólo el nombre de la carpeta donde se cargan las imágenes, esto es: imgs.

He hecho pruebas con ambas opciones, con la ruta completa o sólo el nombre de la carpeta, pero no funciona.

En un servidor Windows funciona perfectamente el código, por lo que este no puede ser problema (por ejemplo C:/www/system/imgs/).

Tampoco es cuestión de permisos porque yo cree la carpeta. Alguna sugerencia?

El código:

$directorio = \\'imgs_cargadas\\';

for ($i = 0; $i < 4 ; $i++){
$archivo_a_cargar = $directorio . basename($NombreArchivos[$i]);
//Comprueba el tamaño del archivo
if($TamArchivos[$i] <= 40000){
//Si no presentó problema al cargar
if (move_uploaded_file($NombreTempArchivos[$i], $archivo_a_cargar)) {
echo \"El archivo \".$NombreArchivos[$i].\" es válido y se cargó correctamente<br>\";
//Si se generó algún error al cargar
} else {
if($NombreArchivos[$i] == \"\")
echo \"No cargó la fotografía \".$Fotografias[$i];
else{
echo \"Hubo un error con el archivo\".$NombreArchivos[$i].\" cárguelo nuevamente\";
echo $directorio.\\'/\\'.$_FILES[\\'archivousuario\\'][\\'name\\'][$i];
//Información del error
echo \"<br>Possible file upload attack!\\n\";
echo \\'Debugging info:\\';
print_r($_FILES);
}
}
} //Si el tamaño del archivo es mayor a 40 KB
else
echo \"El archivo \".$NombreArchivos[$i].\" tiene un tamaño mayor al indicado (40 KB), carguelo nuevamente<br>\";
}


Gracias!