Problemas con carga de imágenes con move_uploaded_file

margon
28 de Abril 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?

Gracias!

Ismael Martinez May
28 de Abril del 2006
Amigo si me pudieses mostrar el codigo con el que mueves la imagen te podria ayudar mas

margon
28 de Abril del 2006
Gracias. Aquí está el código, es parte de la función que carga las imágenes y las guarda.

Soy amiga, no amigo =)


$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!