【PHP抓取远程图片教程(包含不带后缀图片)】教程文章相关的互联网学习教程文章

怎么php使用socket获取远程图片

步骤:1,匹配URL中的主机名和文件部分2,创建socket并连接到目标服务器3,构造HTTP请求并发送4,读取HTTP响应并解析5,保存内容到文件并关闭socket连接代码实现如下:<?php /** 使用socket获取远程资源(网页,图片等)* url 资源URL* savepath 资源的保存路径* return true/false*/ function get_remote_picture($url,$savepath="./"){set_time_limit(0);$pattern = /(http:\/\/)?([^\/]+)(.+)/;$res = preg_match($pattern, $url,...

php采集远程图片保存本地

/*** 下载远程图片到本地** @param $url string 远程文件地址* @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)* @param $fileType array 允许的文件类型* @param $dirName string 文件保存的路径(路径其余部分根据时间系统自动生成)* @param $type int 远程获取文件的方式* @return json 返回文件名、文件的保存路径* @author www.phpxs.com*/ function download_image($url, $fileName...

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 ...

PHP抓取远程图片教程【图】

之前做微信登录开发时候,发现微信头像图片没有后缀名,传统的图片抓取方式不奏效,需要特殊的抓取处理。所以,后来将各种情况结合起来,封装成一个类,分享出来。创建项目作为演示,我们在www根目录创建项目grabimg,创建一个类GrabImage.php和一个index.php。编写类代码我们定义一个和文件名相同的类:GrabImageclass GrabImage{}属性接下来定义几个需要使用的属性。1、首先定义一个需要抓取的图片地址:$img_url2、再定义一个$f...

PHP下载远程图片的3个方法

本文演示3个从远程URL下载图片,并保存到本地文件中的方法,包括file_get_contents,curl和fopen。1. 使用file_get_contentsfunction dlfile($file_url, $save_to){$content = file_get_contents($file_url);file_put_contents($save_to, $content);}2.使用CURLfunction dlfile($file_url, $save_to){$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$file_url); curl_setopt($ch, CURLOPT_RETU...

Laravel5怎么保存远程图片到本地?

Laravel的FileSystem是否支持这样做(尤其是copy等函数)?用file_get_contents的话,如果是HTTPS网站会遇到SSL验证失败的错误,但又不能忽略掉这个错误。回复内容:Laravel的FileSystem是否支持这样做(尤其是copy等函数)?用file_get_contents的话,如果是HTTPS网站会遇到SSL验证失败的错误,但又不能忽略掉这个错误。用GuzzleHttp即可。加上:use GuzzleHttp\Client; use GuzzleHttp\Exception\GuzzleException;$client = new ...

php通过curl下载远程图片实例

$url = http://mf1905.com/upload/video_img/df3074c98ec5124ad47c52ff59f74e04_middle.jpeg; function http_get_data($url) { $ch = curl_init (); curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, GET ); curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt ( $ch, CURLOPT_URL, $url ); ob_start (); curl_exec ( $ch ); $return_content = ob_get_contents (); ob_end_clean (); $return_code = curl_get...

php获取远程图片的一个方法

需求:需要把个人微信、微博或QQ帐号的头像作为应用的头像,这些头像有可能过期或不可用,所以需要将这些图片先下载到本地,然后再上传到七牛图片服务器上上,然后引用七牛的图片地址。以下是codeIgniter中的写法:<?php if (! defined(BASEPATH)) exit(No direct script access allowed);/** * 资讯页面 */class Test extends Wap_base{/** * 构造函数 */ public function __construct() { parent::__constr...

php把远程图片地址转换成本地址

$url = "image url";$imgdata = file_get_contents($url);$info= getimagesize($url);$im = imagecreatefromstring($imgdata);if ($im !== false) { header(Content-Type: .$info[mime]);switch($info[mime]){case image/jpeg:imagejpeg($im);break;case image/png:imagepng($im);break;case image/vnd.wap.wbmp:imagewbmp($im);break;case image/imagegif:imagegif($im);break;default:} imagedestroy($im);}else { echo...

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[path])?/:$url[path])." HTTP/1.1\r\n"); fputs($fp,"Host:$url[host]\r\n\r\n"); while(!feof($fp)){ $tmp = fgets($fp); if(trim($tmp) == ){ break; }else if(preg_match(/Content-Length:(.*)/si,$tmp,$arr)){ return ...

thinkpadx2007457使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

Http类在目录ThinkPHP/Lib/ORG/Net下面。接下来看看是如何调用的。 代码如下:import("Com.Buyback.QueryAmazon"); import("ORG.Net.Http"); class Image { public static function getImage($isbn) { $bookInformModel = D("bookinform"); $result = $bookInformModel->where("isbn='$isbn'")->select(); if($result[0]['image'] == ""){ $data['inform_id'] = $result[0]['inform_id']; $remoteUrl = QueryAmazon::getImage($isb...

本地连接受限制或无连接php下保存远程图片到本地的办法【图】

今天在整理资料的时候发现以前找到的一个函数,通过这个函数我们就可以实现上面的功能。 主要函数: 代码如下:function GrabImage($url,$filename="") { if($url=="") return false; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false; $filename=date("YmdHis").$ext; } ob_start(); readfile($url); $img = ob_get_contents(); ob_end_clean(); $size = strlen($img...

PHP如何判断远程图片是否存在

说明:在做一个图片预览中图的东西,遇到一个问题,就是要判断远程文件是否存在(不是同一台服务器)。 例子,判断远程图片是否存在的多种方法。//方法一function file_exists($url){$ch = curl_init();curl_setopt($ch, curlopt_url,$url);curl_setopt($ch, curlopt_nobody, 1); // 不下载curl_setopt($ch, curlopt_failonerror, 1);curl_setopt($ch, curlopt_returntransfer, 1);if(curl_exec($ch)!==false)return true;elseretu...

php获取远程图片类实例

例子,一个php获取远程图片类。 代码:<?phpif ( ! defined(basepath)) exit(no direct script access allowed); /* * 远程获取图片类 * * 要求开启curl扩展 * 模拟php上传原理,创建一个缓存目录,将远程获取的文件存放到缓存目录下。 */class url_pic{ protected $cache; //缓存路径 public function __construct($cache=) { if(!emptyempty($cache)) ...

PHP远程图片保存到本地

简单的文件操作,远程图片保存本地。 function get_file($url,$folder,$pic_name){ set_time_limit(24*60*60); //限制最大的执行时间 $destination_folder=$folder?$folder.'/':''; //文件下载保存目录 $newfname=$destination_folder.$pic_name;//文件PATH $file=fopen($url,'rb'); if($file){ $newf=fopen($newfname,'wb'); if($newf){ while(!feof($file)){ fwrite($newf,fread($file,1024*8),1...