php 把图片下载本地保存到指定目录中

以下这段代码把远程图片下载到本地服务器,图片放在此脚本相同的目录里,请帮忙修改一下:图片存放到其它指定目录中。<?php//URL是远程的完整图片地址,不能为空,$fil... 以下这段代码把远程图片下载到本地服务器,图片放在此脚本相同的目录里,请帮忙修改一下:图片存放到其它指定目录中。

<?php
//URL是远程的完整图片地址,不能为空, $filename 是另存为的图片名字
//默认把图片放在以此脚本相同的目录里
function GrabImage($url, $filename=""){
//$url 为空则返回 false;
if($url == ""){return false;}
$ext = strrchr($url, ".");//得到图片的扩展名
if($ext != ".gif" && $ext != ".jpg" && $ext != ".bmp"){echo "格式不支持!";return false;}
if($filename == ""){$filename = time()."$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;
}
//测试
GrabImage("此处网址/1.jpg", "as.gif");
?>
展开
 我来答
百度网友eab39c9
2015-09-17 · TA获得超过104个赞
知道小有建树答主
回答量:164
采纳率:33%
帮助的人:120万
展开全部
/*
 *@$url string 远程图片地址
 *@$dir string 目录,可选 ,默认当前目录(相对路径)
 *@$filename string 新文件名,可选
 */
function GrabImage($url, $dir='', $filename=''){
 if(empty($url)){
  return false;
 }
 $ext = strrchr($url, '.');
 if($ext != '.gif' && $ext != ".jpg" && $ext != ".bmp"){
  echo "格式不支持!";
  return false;
 }
 

  //为空就当前目录
  if(empty($dir))$dir = './';

//

 $dir = realpath($dir);
 //目录+文件
 $filename = $dir . (empty($filename) ? '/'.time().$ext : '/'.$filename);
 //开始捕捉 
 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; 

//测试 
GrabImage("此处网址/1.jpg", "as.gif");


// PS:目录存在,权限判断,自创建等自己应该知道!
//个人喜欢绝对路径所以就那么写了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式