加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读