Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2011, 04:28
opzina
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
(Consulta) Script cargar archivo algunos errores

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 original
  1. function upload($ruta = "img/", $titulo = null, $temp = null, $archivo = null) {
  2.     #   Existe el directorio?  
  3.     if (!is_dir("$ruta"  . $titulo)) { 
  4.         //Creo directorio con permisos
  5.             $dirCreado = mkdir("$ruta" . $titulo, 0777);
  6.                 //Subo el archivo
  7.                 if ($dirCreado) {
  8.                 //Subo el archivo
  9.                 $cargar = move_uploaded_file($temp, "$ruta.$titulo" . $archivo);
  10.                     if ($cargar) {
  11.                         echo "Archivo Cargado Correctamente. ";
  12.                     } else {
  13.                         echo "Error al cargar el archivo. ";
  14.                     }
  15.                
  16.             } else {
  17.                 echo "No se puede crear el directorio. <br />";
  18.             }
  19.         } else {
  20.             echo "El directorio existe. ";
  21.         }
  22. #   Fin Fx.
  23. }
  24.  
  25.  
  26. if (isset($_FILES['file']) && !empty($_FILES['file'])) {
  27.     $archivo = $_FILES['file'];
  28.    
  29.     foreach ($archivo as $clave => $valor) {
  30.             foreach ($valor as $key => $value) {
  31.                 #echo "$key = $value <br />";
  32.                 $archivoNombre = isset($_FILES['file']['name'][$key]);
  33.                 $archivoNombreTemp = isset($_FILES['file']['tmp_name'][$key]);
  34.                 $archivoTipo = $_FILES['file']['type'][$key];
  35.                 $archivoTamano = isset($_FILES['file']['size'][$key]);
  36.                 #echo "$archivoNombre <br />";
  37.     }
  38. }
  39.  
  40.     #print_r($archivo);
  41.  
  42.         // Compruebo que el tamaño sea el correcto (en bits)
  43.         if ($archivoTamano <= 8192000) {
  44.             // Compruebo la extensión del archivo
  45.             $extension = preg_match("@image/(gif|pjpeg|jpeg|png|x-png|bmp)$@", $archivoTipo);
  46.             if ($archivoTipo == $extension) {
  47.                 //Compruebo si hay tamaño en disco {
  48.                 $espacioDir = disk_free_space("img/");
  49.                 if ($espacioDir) {
  50.                     /*
  51.                      * Cargo el archivo
  52.                      * Llamo a la funcion upload()
  53.                      * TEST = variable que recibe $_POST['titulo'] del formulario
  54.                      */
  55.                     $loading = upload("", "Test", "$archivoNombreTemp", "$archivoNombre");
  56.                        
  57.                     //  Muestro si se cargo correctamente
  58.                     if (!$loading) {
  59.                         echo "Error el cargar el archivo";
  60.                     } else { echo "Cargado Exitosamente.";}
  61.                 } else { echo "No hay espacio en directorio o disco.";}
  62.             } else { echo "La extension no es correcta.";}
  63.         } else { echo "El archivo es demasiado grande";}
  64. } else { echo "Debe seleccionar un archivo.";}