娱乐新地带论坛
(
https://bbs.1819.net/index.php)
-
『程序设计』
(
https://bbs.1819.net/forumdisplay.php?f=20)
- -
PHP保存远程图片到本地
(
https://bbs.1819.net/showthread.php?t=22117)
PHP保存远程图片到本地
PHP 代码:
<?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;
?>
|
回复: PHP保存远程图片到本地
dedecms
PHP 代码:
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,3); if($get_file) { $fp = @fopen($rndFileName,"w"); @fwrite($fp,$get_file); @fclose($fp); } $body = ereg_replace($value,$fileurl,$body); } $body = addslashes($body); }
|
所有时间均为北京时间。现在的时间是 12:34 AM。 |
|
©2003-2024 1819.net All rights reserved.
© 2024