Problemas con la carga de im谩genes por POST (con move_uploaded_file)
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!
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!
