Hola,
Arme este script para subir archivos.
1. Tengo problemas con la funcion, no puedo pasar el parámetro por defecto o estoy concatenando mal.
2. No puedo validar la extensión del archivo.
3. Me gustaría, de ser posible, una revisión del script. Sugerencias, etc.
Código PHP:
Ver originalfunction upload($ruta = "img/", $titulo = null, $temp = null, $archivo = null) {
# Existe el directorio?
if (!is_dir("$ruta" . $titulo)) { //Creo directorio con permisos
$dirCreado = mkdir("$ruta" . $titulo, 0777); //Subo el archivo
if ($dirCreado) {
//Subo el archivo
if ($cargar) {
echo "Archivo Cargado Correctamente. ";
} else {
echo "Error al cargar el archivo. ";
}
} else {
echo "No se puede crear el directorio. <br />";
}
} else {
echo "El directorio existe. ";
}
# Fin Fx.
}
if (isset($_FILES['file']) && !empty($_FILES['file'])) { $archivo = $_FILES['file'];
foreach ($archivo as $clave => $valor) {
foreach ($valor as $key => $value) {
#echo "$key = $value <br />";
$archivoNombre = isset($_FILES['file']['name'][$key]); $archivoNombreTemp = isset($_FILES['file']['tmp_name'][$key]); $archivoTipo = $_FILES['file']['type'][$key];
$archivoTamano = isset($_FILES['file']['size'][$key]); #echo "$archivoNombre <br />";
}
}
#print_r($archivo);
// Compruebo que el tamaño sea el correcto (en bits)
if ($archivoTamano <= 8192000) {
// Compruebo la extensión del archivo
$extension = preg_match("@image/(gif|pjpeg|jpeg|png|x-png|bmp)$@", $archivoTipo); if ($archivoTipo == $extension) {
//Compruebo si hay tamaño en disco {
if ($espacioDir) {
/*
* Cargo el archivo
* Llamo a la funcion upload()
* TEST = variable que recibe $_POST['titulo'] del formulario
*/
$loading = upload("", "Test", "$archivoNombreTemp", "$archivoNombre");
// Muestro si se cargo correctamente
if (!$loading) {
echo "Error el cargar el archivo";
} else { echo "Cargado Exitosamente.";}
} else { echo "No hay espacio en directorio o disco.";}
} else { echo "La extension no es correcta.";}
} else { echo "El archivo es demasiado grande";}
} else { echo "Debe seleccionar un archivo.";}