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; }