php guardar el contenido del editor de una imagen en imagen remoto local

A veces nuestros editores imagen copiada es remota, es necesario descargar a un servidor local.

 

1, extraer una imagen remota


                ) { Return array ( 'file_name' => '', 'save_path' => '', 'error' => 3); 
            }

            archivo = Tiempo $ () $ EXT ;. 
        } 
        if (! == 0 strrpos ($ save_dir, '/')) { 
            $ save_dir = '/' ;. 
        } 
// crear un directorio de almacenamiento 
        si (file_exists ($ save_dir)! ! && mkdir ($ save_dir, 0777, true)) { 
            ; return array ( 'nombre_archivo' => '', 'la save_path' => '', 'error' => 5). 
        } 
método de obtención de archivos remoto // empleado 
        IF ($ type) { 
            $ CH = curl_init (); 
            $ timeout = 5;. 
            curl_setopt ($ CH, CURLOPT_URL a, $ URL); 
            curl_setopt ($ CH, CURLOPT_RETURNTRANSFER ,. 1); 
            curl_setopt ($ CH, CURLOPT_CONNECTTIMEOUT, $ tiempo de espera); 
            $ img = curl_exec ($ ch) ;
            if ($ img == false) 
            {
                return array ( 'file_name' => '', 'save_path' => '', 'error' => 6); 
            } 
            Curl_close ($ ch); 
        } else { 
            ob_start (); 
            readfile ($ url); 
            $ img = ob_get_contents (); 
            ob_end_clean (); 
        } 
// $ size = strlen ($ img); 
//文件大小
        $ FP2 = @ fopen ($ save_dir $ archivo, 'a'.); 
        fwrite ($ FP2, $ img); 
        fclose ($ FP2); 
        unset ($ img, $ url); 
        return array (. 'nombre_archivo' => $ archivo, 'save_path' => DS $ rutaArchivo, 'error' => 0); 
    }

  

Alternativamente, el editor del contenido 2, el editor de adquisición de contenidos, utilizando el método anterior

 / * Guardar la distancia a la imagen local * 
    @param $ contenido editor de contenido 
    @return $ contenido había regresado contenido de reemplazo 
    * / 
    protegida   getRempotePicToLocation función ($ contenido) 
    { 
      preg_match_all ( ' / <IMG [^ "] + = el src" ([^ "] +) \" / " , $ contenido, $ los partidos);
       SI ($ los partidos) 
      { 
          $ imgList = $ las coincidencias [ 1. ];
           foreach ($ imgList AS $ o partidos -) 
          { 
             IF (los strpos ($ o partidos -, ' HTTP ' )> = 0 ) 
             {    / * nombre de archivo y extensión para obtener el archivo actual * /
                 preg_match ( ' /\/([^\/]+\.[az]+)[^\/]*$/ ' , $ matche, $ fileinfo); 
                 $ info = $ este -> getImage ($ matche, $ fileinfo [ 1 ], 0 );
                 si ($ info [ ' error ' ] == 0 ) 
                 { 
                     $ contenido = str_replace ($ matche, $ info [ ' save_path ' ] .ds $ info [. ' nombre_archivo ' ], $ contenido); 
                 } 
             } 
          } 

      } 
   Volver$ content; 
    }
Ver código

 

Supongo que te gusta

Origin www.cnblogs.com/fogwang/p/12580318.html
Recomendado
Clasificación