PHP保存远程图片到本地
发布时间:2020-12-13 14:11:54 所属栏目:PHP教程 来源:网络整理
导读:?php // // Function: 获取远程图片并把它保存到本地 // // //??确定您有把文件写入本地服务器的权限 //?? // // 变量说明: // $url 是远程图片的完整URL地址,不能为空。 // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 // 自动生成. func
<?php
// // Function: 获取远程图片并把它保存到本地 // // //??确定您有把文件写入本地服务器的权限 //?? // // 变量说明: // $url 是远程图片的完整URL地址,不能为空。 // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 // 自动生成. function GrabImage($url,$filename="") { ??if($url==""):return false;endif; ??if($filename=="") { ? ? $ext=strrchr($url,"."); ? ? if($ext!=".gif" && $ext!=".jpg"):return false;endif; ? ? $filename=date("dMYHis").$ext; ??} ??ob_start(); ??readfile($url); ??$img = ob_get_contents(); ??ob_end_clean(); ??$size = strlen($img); ??$fp2=@fopen($filename,"a"); ??fwrite($fp2,$img); ??fclose($fp2); ??return $filename; } $img=GrabImage("http://news.bbc.co.uk/images/_1978837_detector_ap100.jpg",""); if($img):echo '<pre><img src="'.$img.'"></pre>';else:echo "false";endif;? ? ?> ?
dedecms中的:
?
?????? if(!empty($saveremoteimg)) ? ? ? ? { ? ? ? ? ? ? ? ? $body = stripslashes($body); ? ? ? ? ? ? ? ? $img_array = array(); ? ? ? ? ? ? ? ? preg_match_all("/(src|SRC)=[""|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array); ? ? ? ? ? ? ? ? $img_array = array_unique($img_array[2]); ? ? ? ? ? ? ? ? set_time_limit(0); ? ? ? ? ? ? ? ? $imgUrl = $img_dir."/".strftime("%Y%m%d",time()); ? ? ? ? ? ? ? ? $imgPath = $base_dir.$imgUrl; ? ? ? ? ? ? ? ? $milliSecond = strftime("%H%M%S",time()); ? ? ? ? ? ? ? ? if(!is_dir($imgPath)) @mkdir($imgPath,0777); ? ? ? ? ? ? ? ? foreach($img_array as $key =>$value) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? $value = trim($value); ? ? ? ? ? ? ? ? ? ? ? ? $get_file = @file_get_contents($value); ? ? ? ? ? ? ? ? ? ? ? ? $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3); ? ? ? ? ? ? ? ? ? ? ? ? $fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,3); ? ? ? ? ? ? ? ? ? ? ? ? if($get_file) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $fp = @fopen($rndFileName,"w"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @fwrite($fp,$get_file); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @fclose($fp); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? $body = ereg_replace($value,$fileurl,$body); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? $body = addslashes($body); ? ? ? ? } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |