`

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中,获取远程图片并将其保存到本地服务器是一项常见的任务,这通常涉及到网络I/O操作和文件处理。本文将详细解析两种不同的方法,通过PHP实现这个功能。 首先,我们来看第一种方法,该方法使用了`getImage()`...

    PHP下载远程图片到本地类

    在PHP编程中,有时我们需要从远程服务器下载图片资源并保存到本地服务器,这在构建一些需要展示网络图片的网站或应用时非常常见。本篇将详细介绍如何使用PHP实现这一功能,以及提供的"PHP下载远程图片到本地类"的...

    PHP下载远程图片到本地类.zip

    这个压缩包包含了一个名为"PHP下载远程图片到本地类.php"的文件,这是一个专门用于下载远程图片的PHP类库,它可以方便地抓取互联网上的图片并将其保存到我们的本地服务器。 首先,我们来看这个PHP类的基本结构。...

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

    在PHP中,下载远程图片并保存到本地是一个常见的任务,特别是在构建网站或处理网络数据时。下面我们将深入探讨几种不同的实现方法。 1. 获取远程文件大小及信息: 使用`fsockopen`函数来建立一个HTTP连接,并通过...

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

    在PHP编程中,有时我们需要从远程服务器获取图片资源并将其保存到本地服务器上,以便于在网站上使用或进行进一步处理。本实例介绍了一个名为`GrabImage`的PHP函数,它实现了这一功能。以下是该函数的详细解释和相关...

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

    在本文中,我们将探讨如何使用PHP来批量抓取远程网页上的图片并将其保存到本地。这个功能对于网站复制、数据抓取或者分析工作非常有用,尤其是当你需要获取一个网站的所有图片资源时。以下是一个简单的PHP脚本,它...

    php获取CSS文件中图片地址并保存到本地的类.zip

    这个“php获取CSS文件中图片地址并保存到本地的类”提供了解决这一问题的方案。下面将详细介绍该类的工作原理、使用方法以及可能涉及到的相关知识点。 1. **类的结构与工作流程**: - 这个类通常会包含一个解析CSS...

    php远程图片本地化插件

    - 获取到图片数据后,插件将其保存在本地服务器的指定目录下,并生成一个本地URL。 - 最后,插件会将原始的远程图片URL替换为新的本地图片URL,使得用户在访问网站时加载的是本地存储的图片。 2. **实现方式**: ...

    php远程图片本地化php远程图片本地化php远程图片本地化php远程图片本地化

    这段代码首先定义了远程图片的URL和本地保存路径,然后使用`file_get_contents()`获取远程图片数据,并用`file_put_contents()`写入本地文件。 3. **使用cURL库**: 对于更复杂的请求,如设置HTTP头、处理重定向...

    php获取CSS文件中图片地址并保存到本地的类

    这个例子展示了如何实例化`CssImageSaver`类,然后提取CSS文件中的图片URL并下载到指定的本地路径。当然,实际应用中可能需要考虑更多的边界情况,例如错误处理、网络连接问题、权限控制等。 总的来说,通过这个类...

    ckeditor图片上传 远程图片下载

    3. **下载图片**:CKEditor使用JavaScript的`fetch`或`XMLHttpRequest`等API获取远程图片内容,然后将图片转换为Blob对象。 4. **转换与上传**:将Blob对象转化为Data URL,然后模拟一个文件上传请求到服务器,...

    基于php的下载远程图片

    2. `downloadImage()`:下载图片的方法,它可能使用`file_get_contents()`或`cURL`库来获取远程图片内容,并将其保存到本地服务器。 3. `saveImage()`:保存图片到本地,可能包含文件路径处理和错误检查。 4. `...

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

    在PHP中,获取远程图片并保存到本地服务器是一种常见的需求,比如用于网站的图片抓取、备份或缓存。以下是一段PHP代码示例,它实现了这个功能: ```php function GrabImage($url, $filename = "") { if ($url == ...

    PHP实现下载远程图片保存到本地的方法

    本文将详细介绍如何使用PHP实现这个功能,通过两种不同的方法来下载远程图片并保存到本地。 1. 使用cURL函数 cURL是一个强大的库,它允许PHP与各种网络协议进行交互,包括HTTP。我们可以使用cURL发起HTTP请求来...

    php 下载远程图片

    这段代码会将远程图片内容保存到本地的`image.jpg`文件中。但这种方法并不总是可行,因为有些服务器可能会限制或者禁止这种方式的请求。 这时,我们可以使用Snoopy类,这是一个PHP的HTTP客户端库,它允许模拟浏览器...

    获取远程图片

    以下是一个简单的示例,展示如何下载远程图片并将其保存到本地: ```php <?php $remote_image_url = 'http://example.com/path/to/image.jpg'; $image_data = file_get_contents($remote_image_url); file_put_...

    php采集类。含自动下载图片到本地

    当抓取到含有图片链接的HTML时,为了防止未来原始网站的图片链接失效,我们会将图片下载到本地,同时更新HTML中的图片源地址为本地路径。这一过程可以通过遍历HTML中的标签,提取src属性,然后使用PHP的文件操作函数...

Global site tag (gtag.js) - Google Analytics