• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP 远程图片本地化

php 搞代码 3年前 (2022-01-23) 25次浏览 已收录 0个评论
<?php/**		远程图片本地化	**/		function pget($url,$ref=false,$head=false){						$curl = curl_init(); // 启动一个CURL会话			curl_se<mark style="color:transparent">来4源gaodaimacom搞#代%码*网</mark><code>搞代gaodaima码</code>topt($curl, CURLOPT_URL, $url); // 要访问的地址            			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查			curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在			curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器			curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转			if($ref){ curl_setopt($curl, CURLOPT_REFERER, $ref);//带来的Referer			}else{			curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer			}			curl_setopt($curl, CURLOPT_HTTPGET, 1); // 发送一个常规的Post请求			curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环			curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容			curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回			$tmpInfo = curl_exec($curl); // 执行操作						if (curl_errno($curl)) {									echo 'Errno'.curl_error($curl);			}						if($head){ $data['head']=curl_getinfo($curl);}			curl_close($curl); // 关键CURL会话			$data['data']=$tmpInfo;			return $data; // 返回数据	}	 	 //远程图片本地化 function imgLocation($content){		 		 preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png)(.*\"))/isU",$content,$img_array);		 		 $timeSrc=date("Ymd", time());		 $img_array = array_unique($img_array[1]);		 		 $imgPath = dirname(__FILE__).'/../um/php/upload/'.$timeSrc;			if(!is_dir($imgPath.'/'))		{			 mkdir($imgPath, '0777',true);			 chmod($imgPath, '0777');		}			 foreach($img_array as $key=>$value){			 			   $value=str_repeat('"',"",$value);			   $http=pget($value,'$value',true);			   			   $itype=($http['head']['content_type']);				if(!preg_match("#\.(jpg|gif|png)#i", $itype))				{					if($itype=='image/gif')					{						$itype = ".gif";											}					else if($itype=='image/png')					{						$itype = ".png";					}					else					{						$itype = '.jpg';					}				}																$runds=md5(time());				$rndFileName=$imgPath."/".$runds.$itype;			 	$tp = fopen($rndFileName, 'wb');				fwrite($tp, $http['data']);				fclose($tp);						  if(file_exists($rndFileName))					{												$sqlurl="/home/um/php/upload/".$timeSrc."/".$runds.$itype;						$content = str_replace($value, $sqlurl.'"', $content);						$content = str_replace("alt=", "", $content);								  					}		 }				return $content;			 }	 	 	 ?>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 远程图片本地化
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址