New question

Question:

Date: 03-07-2019 05:45:11 (In Spanish)

¿Cómo puedo subir una imagen de PHP a SQLServer de TIPO IMAGE?[Unresolved]

Necesito ayuda de como subir imagen a sql server de tipo image .
La base de datos también lo utilizo desde C# y lo guardo como tipo byte pero en PHP nose como convertirlo en byte y guardarlo en la misma BD .. espero su ayuda.





$image_raw = file_get_contents($_FILES["foto"]["tmp_name"]);

$data =fopen($image_raw,'rb');
$size=filesize($image);
$contents=fread($data, $size);
fclose($data);

$encoded= base64_encode($contents);

  $COD_VIS="0301190008";
  $COD_CLI="0201190004";
  $DSC_IMG="PIE IZQUIERDO2";
  $FCH_IMG="2019-01-03";
  $OBS_IMG="HOLAAAAAA";
  $EXT_IMG="jpg";
           
$dataBD['result']=$this->api->registrar_imagen($COD_VIS,$COD_CLI,$DSC_IMG,$encoded,$FCH_IMG,$OBS_IMG,$EXT_IMG);   
echo json_encode($dataBD);

Tags: MSSQL - PHP - PHP base64 - PHP PDO - PHP7 - Question - SQL - SQL Injection - SQL Server Votes: 0 - Answers: 1 - Views: 9 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 27-11-2019 17:48:33 Hola Eduardo

    Mira no es recomendable guardar las imágenes directamente en la base de datos, esto ocupa mucho espacio y las vuelve poco optimas, es mejor guardarlas en el disco directamente en una carpeta que asignes por estas. En caso de que necesites agregarlas a la BD, SQL maneja una columna tipo BLOB, lo que te permite guardar ese tipo de archivos. Te dejo un código en PHP para que subas la imagen al disco y no a la BD.
    public function ManejadorArchivo($archivo, $NombreCarpeta, $url) {
            $respuesta['status']     = "error";
            $respuesta['mensaje']    = "error";
            $respuesta['rutaimagen'] = "imagenes/web/Sin_Imagen.png";
            # Comienza Codigo Imagen
            if (trim($archivo['name']) != "") {
                # Si existe Imagen
                $extensionesPermitidas = array('jpg', 'png', 'gif', 'JPG', 'GIF', 'PNG', 'jpeg', 'JPEG');
                $tipoArchivo = $archivo['type'];
                $comprobarTipo = preg_match('/^image\/(pjpeg|jpeg|gif|png|JPG|PNG)$/', $tipoArchivo);
                $extImg = explode('.', $archivo['name']);
                $extensionImagen = end($extImg);
                $comprobarExtension = in_array($extensionImagen, $extensionesPermitidas);
                $imgProducto = substr(md5(uniqid(rand())),0 , 10).'.'.$extensionImagen;
                $carpeta = $url.$this->LimpiarCarpeta($NombreCarpeta);
                if ($comprobarTipo) {
                    if ($comprobarExtension) {
                        if (!file_exists($carpeta)) {
                            mkdir($carpeta, 0755, true);
                        }
                        $rutaImagen = $carpeta.'/'.$imgProducto;
                        while (file_exists($rutaImagen)) {
                            # Renombrar hasta que archivo no exista en la carpeta
                            $rutaImagen = $carpeta.'/'.substr(md5(uniqid(rand(), 0, 10))).'_'.$imgProducto;
                        }
                        $subirImagen = move_uploaded_file($archivo['tmp_name'], $rutaImagen);
                        if ($subirImagen) {
                            # Se subio con exito el archivo
                            $respuesta['status']     = "ok";
                            $respuesta['mensaje']    = "ok";
                            $respuesta['rutaimagen'] = $rutaImagen;
                        } else {
                            # Hubo un error al subir el archivo
                            $respuesta['mensaje'] = $archivo['error'];
                            // echo '<article class="box_contenedor_seccion_web tam-peque-margen tam-pequeu-margen tam-pequed-margen tam-medi-mitad tam-mediu-mitad tam-grande-mitad tam-grandeu-mitad bg_rojo txt_blanco box_form_mensaje"> <i class="fas fa-times"></i>Se produjo el siguiente error al subir la imagen, ( '.$errorImagen.' ).</article>';
                        }
                    } else {
                        $respuesta['mensaje'] = "La extensión del archivo debe ser de tipo imagen.";
                    }
                } else {
                    $respuesta['mensaje'] = "El archivo debe ser de tipo imagen.";
                }
            } else {
                $respuesta['status']     = "ok";
                $respuesta['mensaje']    = "ok";
            }
            # Termina Codigo Imagen
            return $respuesta;
        }
    


    Espero sea de ayuda..
      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com