`

php获取远程图片并下载保存到本地

    博客分类:
  • PHP
php 
阅读更多
/*
*功能:php完美实现下载远程图片保存到本地
*参数:文件url,保存文件目录,保存文件名称,使用的下载方式
*当保存文件名称为空时则使用远程文件原来的名称
*/
function getImage($url,$save_dir='',$filename='',$type=0){
    if(trim($url)==''){
		return array('file_name'=>'','save_path'=>'','error'=>1);
	}
	if(trim($save_dir)==''){
		$save_dir='./';
	}
    if(trim($filename)==''){//保存文件名
        $ext=strrchr($url,'.');
        if($ext!='.gif'&&$ext!='.jpg'){
			return array('file_name'=>'','save_path'=>'','error'=>3);
		}
        $filename=time().$ext;
    }
	if(0!==strrpos($save_dir,'/')){
		$save_dir.='/';
	}
	//创建保存目录
	if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
		return array('file_name'=>'','save_path'=>'','error'=>5);
	}
    //获取远程文件所采用的方法 
    if($type){
		$ch=curl_init();
		$timeout=5;
		curl_setopt($ch,CURLOPT_URL,$url);
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
		curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
		$img=curl_exec($ch);
		curl_close($ch);
    }else{
	    ob_start(); 
	    readfile($url);
	    $img=ob_get_contents(); 
	    ob_end_clean(); 
    }
    //$size=strlen($img);
    //文件大小 
    $fp2=@fopen($save_dir.$filename,'a');
    fwrite($fp2,$img);
    fclose($fp2);
	unset($img,$url);
    return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}
分享到:
评论

相关推荐

    php获取远程图片并下载保存到本地的方法分析

    本文实例讲述了php获取远程图片并下载保存到本地的方法。分享给大家供大家参考,具体如下: 远程图片指的是远端服务器上的数据我们可以通过php的许多函数来读取下载了,这里整理了两个可以自动下载远程图片并下载...

    PHP获取远程图片并保存到本地的方法

    本文实例讲述了PHP获取远程图片并保存到本地的方法。分享给大家供大家参考。具体实现方法如下: <?php function GrabImage($url, $filename = "") { if ($url == ""):return false; endif; //如果$url地址为...

    用php获取远程图片并把它保存到本地的代码

    php function GrabImage($url,$filename=””) { if($url==””):return false;endif; if($filename==””) { $ext=strrchr($url,”.”); if($ext!=”.gif” && $ext!=”.jpg”):return false;endif; $...

    php 远程图片保存到本地的函数类

    获取远程图片并把它保存到本地

    python抓取网页中图片并保存到本地

    在上篇文章给大家分享PHP源码批量抓取远程网页图片并保存到本地的实现方法,感兴趣的朋友可以点击了解详情。 #-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' ...

    PHP下载远程图片并保存到本地方法总结

    1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){ fputs($fp,GET .(empty($url['...

    分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    所以,我就写出了下面的一个源码,php远程抓取图片小程序。可以读取css文件并抓取css代码中的背景图片,下面这段代码也是针对抓取css中图片而编写的。 <?php header(Content-Type: text/html; charset=utf-8); ...

    PHP 文章中的远程图片采集到本地的代码

    今天写了一个这个功能, 拿出来跟朋友一起分享,可以获取远程图片并保存到本地,其实大家可以参考很多php管理系统都有这个功能。

    远程图片本地化插件 for PHPwind GBK/UFT-8.rar

    loadimg.php是获取远程jpg和gif文件的路径并上传的文件。 postnew.php 是发新帖 postreply.php 是回复 如果大家想手动修改的话有几步: 1、loadimg.php 不动他,直接上传。 2、编辑postnew.php  找到 ...

    php获取远程文件的内容和大小

    可以给表格排序,遍历目录,时间排序获取远程文件大小的php函数PHP 获取远程文件内容的函数代码PHP 网络开发详解之远程文件包含漏洞php带密码功能并下载远程文件保存本地指定目录 修改加强版php下利用curl判断远程...

    PHP实现的下载远程图片自定义函数分享

     * PHP下载远程图片到本地  *  * @param $url string 远程文件地址  * @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)  * @param $fileType array 允许的文件类型  *...

    php实现异步将远程链接上内容(图片或内容)写到本地的方法

    本文实例讲述了php实现异步将远程链接上内容(图片或内容)写到本地的方法。分享给大家供大家参考,具体如下: /** * 异步将远程链接上的内容(图片或内容)写到本地 * * @param unknown $url * 远程地址 * @param...

    PHP保存带BOM文件的方法

    您可能感兴趣的文章:php实现编辑和保存文件的方法php获取目录所有文件并将结果保存到数组(实例)如何利用php+mysql保存和输出文件php带密码功能并下载远程文件保存本地指定目录 修改加强版php自定文件保存session...

    PHP通过SMTP协议获取gmail邮件信息(包括主题、正文、图片、附件等)

    主要实现: ...3. 邮件正文中内嵌的图片,将该图片从远程服务器中下载到本地服务器并替换掉图片的链接到本地服务器中该图片的保存目录(可访问); 4. 将附件从远程服务器下载到本地服务器,以便下载。

    php带密码功能并下载远程文件保存本地指定目录 修改加强版

    原作者BlueStyle 提示 改进地方有 以前的算法是等文件下载完才计算, 现在这个直接在在获取文件时候就计算大小 加了容错语句 增加了判断目录,没有目录自动创建 把计算文件大小的算法换了个 以前的那个光计算文件...

    非主流图片小偷PHP源码 2015.zip

    你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用。 小偷程序有什么优点呢,那...

Global site tag (gtag.js) - Google Analytics