Login
网站首页 > 文章中心 > php

远程图片url获取到本地的函数

作者:小编 更新时间:2023-07-04 08:46:55 浏览量:155人看过

 private static function grabImage($a_url,$a_savePath){

if($a_url != ""){ //如果图片地址为空

  $a_url=str_replace(['&'],['&'],$a_url); //url中特定字符替换

//获取图片信息大小

  $imgSize = getImageSize($a_url);

  if(!in_array($imgSize['mime'],array('image/jpg', 'image/gif', 'image/png', 'image/jpeg'),true)){  return ''; }

    //获取后缀名

  $_mime = explode('/', $imgSize['mime']);

  $ext = '.'.end($_mime);

$new_file = $a_savePath ."/";

        if (!file_exists($new_file)) {

            //检查是否有该文件夹,如果没有就创建,并给予最高权限

            mkdir($new_file, 0700);

        }

$filename_r = time().rand(10,9000).$ext; //给图片命名

$filename = $new_file.$filename_r;//.'/'

ob_start(); //打开缓冲区

readfile($a_url);

$imgInfo = ob_get_contents(); //获得缓冲区的内容

ob_end_clean(); //清除并关闭缓冲区

//$fp = fopen($filename,'a'); fwrite($fp,$imgInfo); fclose($fp);

$fp = fopen($filename, 'a');

$imgLen = strlen($imgInfo);    //计算图片源码大小

$_inx = 1024;   //每次写入1k

$_time = ceil($imgLen/$_inx);

for($i=0; $i<$_time; $i++){

fwrite($fp,substr($imgInfo, $i*$_inx, $_inx));

}

fclose($fp); unset($imgInfo,$a_url);

return $filename;

}else{

return '';

}

  }


版权声明:倡导尊重与保护知识产权,本站有部分资源、图片来源于网络,如有侵权,请联系我们修改或者删除处理。
转载请说明来源于"土嘎嘎" 本文地址:http://www.tugaga.com/jishu/php/987.html
<<上一篇 2023-07-04
下一篇 >> 2023-07-04

编辑推荐

热门文章