Ejemplo n.º 1
0
 /**
  * Subir imagenes al servidor
  * con verificacion de seguridad
  * nombre modificado y mas
  * @param $name_input_file
  * @param $carpeta_destino
  * @param bool $uniqueName
  * @param bool|false $vaciar_carpeta
  * @param bool $resize
  * @param int $maxWidth
  * @return string
  */
 public function __construct($name_input_file, $carpeta_destino, $uniqueName = false, $vaciar_carpeta = false, $resize = true, $maxWidth = 900)
 {
     //nombres
     $fileName = $_FILES[$name_input_file]['name'];
     $fileTemp = $_FILES[$name_input_file]['tmp_name'];
     if ($fileName != '') {
         $file_type = $_FILES[$name_input_file]['type'];
         //returns the mimetype
         $permitidos = array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/png', 'image/svg');
         # MIME types permitidos
         /*
          * $mimeFile = new finfo(FILEINFO_MIME_TYPE);
          * $fileContent = file_get_contents($fileTemp);
          * $mime = $mimeFile->buffer($fileContent);
          */
         # Buscamos si el archivo que subimos tiene el MIME type que permitimos en nuestra subida
         if (!in_array($file_type, $permitidos)) {
             $ext_invalida = 'Ups! Solamente puedes subir imagenes con la extensión GIF, JPG, JPEG o PNG';
             Scripts::scriptAlert($ext_invalida);
             Scripts::scriptVolver();
             exit;
         } else {
             /**
              * extension
              */
             $ext = @($extension = '.' . end(explode('.', $fileName)));
             /**
              * archivo final
              * nombre del archivo
              * final con md5
              */
             $fileFinal = md5(strtolower($fileName)) . $ext;
             if ($uniqueName) {
                 $fileFinal = uniqid('img_') . md5($fileName) . $ext;
             }
             /**
              * crear la carpeta si no existe
              */
             if (!file_exists($carpeta_destino)) {
                 //crear
                 try {
                     mkdir($carpeta_destino, 0755);
                 } catch (Exception $e) {
                     die('Error al crear carpeta: ' . $e->getMessage());
                 }
             }
             /**
              * vaciar el directorio si se solicita
              */
             if ($vaciar_carpeta == true) {
                 self::vaciarDirectorio($carpeta_destino);
             }
             try {
                 //subir la imagen
                 move_uploaded_file($fileTemp, $carpeta_destino . '/' . $fileFinal);
                 //nombre del archivo
                 if ($resize == true) {
                     self::resizeImage($carpeta_destino . '/' . $fileFinal, $carpeta_destino . '/' . $fileFinal, $maxWidth);
                 }
                 $this->FILENAME = $fileFinal;
                 return $fileFinal;
             } catch (Exception $error) {
                 //si falla
                 echo 'Error al subir: ', $error->getMessage(), "\n";
             }
         }
     } else {
         Scripts::scriptAlert('Error. Seleccionar una imagen');
         Scripts::scriptVolver();
     }
 }