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:
Código PHP:
$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!