导航:首页 > 编程语言 > php抓取图片到本地

php抓取图片到本地

发布时间:2022-06-14 23:24:18

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

/*
*@$urlstring远程图片地址
*@$dirstring目录,可选,默认当前目录(相对路径)
*@$filenamestring新文件名,可选
*/
functionGrabImage($url,$dir='',$filename=''){
if(empty($url)){
returnfalse;
}
$ext=strrchr($url,'.');
if($ext!='.gif'&&$ext!=".jpg"&&$ext!=".bmp"){
echo"格式不支持!";
returnfalse;
}


//为空就当前目录
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:目录存在,权限判断,自创建等自己应该知道!
//个人喜欢绝对路径所以就那么写了

‘贰’ php里怎么把网上的图片保存在本地

火车头采集,采集侠。自己写也可以,写正则抓图片地址,然后用file_get_contents函数读取内容,写文件。

‘叁’ php如何下载动态图片保存到本地

php 远程下载文件

function http($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);

if(function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($file, $temp) && !curl_error($ch)) {
return $file;
} else {
return false;
}
} else {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}
}

‘肆’ php如何采集微信文章的同时获取其中图片的地址并下载本地化

给个简单的例子,仅仅是获取了远程图片哦

<?php
$url='';这是你的微信网址
$con=file_get_contents("$url");
$pattern="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/";
preg_match_all($pattern,$con,$match);
for($i=0;$<count($match[1]);$i++){
$pic=file_get_content($match[1][$i]);
$name_arr=explode('/',$pic);
$n=count($name_arr);
file_put_content($name_arr[$n],$pic);
}

没做测试,你测试一下吧

‘伍’ php怎么获取本地图片信息

用glob很方便就可获得。
$img = array('gif','png','jpg');//所有图片的后缀名
$dir = 'data/';//文件夹名称
$pic = array();
foreach($img as $k=>$v)
{
$pattern = $dir.'*.'.$v;
$all = glob($pattern);
$pic = array_merge($pic,$all);
}
foreach($pic as $p)
{
//分行分页显示代码
}
如果和图片是同一个文件夹,那要将
$dir = 'data/';//文件夹名称
改成
$dir = './';//文件夹名称

‘陆’ php 怎么从网上下载图片到本地

我想告诉你,除了显示网址,然后“另存为”或者用迅雷之类的下载外,php真的还无法下载到本地,好像是因为权限什么的。
我琢磨了好久都不可能下载到本地,除非你的服务器是建立在本地的。

我自己写了一个函数,用来拷贝图片的,用()不行。
你可以看看,其他文件格式同理。
//----------------------拷贝图片(包括网络图片)到指定网址------------------
//-------适用于图片类型包括:jpeg、gif、png-----------
function down_image($url1,$url2){//---$url1为源网址,$url2为目标网址---
$url1_info=pathinfo($url1);
$url2_info=pathinfo($url2);
$msg="拷贝成功!";
if($url1_info[extension]==$url2_info[extension]){
switch ($url1_info[extension]){
case "jpg":
$img=imagecreatefromjpeg($url1);
imagejpeg($img, $url2);
break;
case "gif":
$img=imagecreatefromgif($url1);
imagegif($img, $url2);
break;
case "png":
$img=imagecreatefrompng($url1);
imagepng($img, $url2);
break;
}
}else{
$msg="文件类型不正确,拷贝失败";
}
return $msg;
}

‘柒’ PHP网络图片本地化 原图片转换成本地化后的图片

用网络的UEditor其中有个远程图片抓取交互,可以实现你的要求。

1、远程抓取原理

图片远程抓取是指在插入本地域名之外的图片链接地址时,由服务器将这些外部图片抓取到本地服务器保存的一个功能。实现原理为在编辑器中向服务器发送包含所有外域图片地址的ajax请求,然后由服务器在后端抓取保存后返回图片地址给编辑器,再由编辑器完成外域地址和本地地址的替换工作。

//是否开启远程图片抓取
catchRemoteImageEnable:true,

//处理远程图片抓取的地址
catcherUrl:URL+"server/submit/php/getRemoteImage.php",

//提交到后台远程图片uri合集的表单名
catchFieldName:"upFile",

//图片修正地址,同imagePath
catcherPath:fixedImagePath,

//本地顶级域名,当开启远程图片抓取时,除此之外的所有其它域名下的
//图片都将被抓取到本地
localDomain:[".com","10.81.2.114"],

2、注意事项

远程抓取功能是否开启可在edicot_config.js中通过配置catchRemoteImageEnable参数实现。与这个功能相关的配置还包括了远程抓取的处理程序地址,表单域名称,本地域和“前后端修正地址”。远程抓取处理程序实现了依据前端提交的地址列表(使用ue_separate_ue标示符进行分隔的字符串)进行图片抓取,然后返回地址列表给客户端的功能。

前后台交互数据格式样例:(URL1,URL2,URL3,URL4)

URL1ue_separate_ueURL2ue_separate_ueURL3ue_separate_ueURL4

‘捌’ php提交表单,怎么读取图片在本地的路径

首先浏览器中看到的input只是基础的选择本地文件来上传的一个浏览器组件,你选择文件后,里面是会显示文件路径和名称的。而只有你提交表单的时候,from中的信息才能提交到服务器端,这时你才能从图片的临时目录中获取到你上传的文件的临时file。当然在你post的数据中你可以通过$_FILE来获取相关的文件信息,比如文件名称,文件大小之类的

‘玖’ 请问php如何能根据url地址拷贝该网页的所有内容+图片并生成一个本地文件

复制+粘贴
针对你说的无法复制问题,是不是以下情况:

1、限制右键选中复制?
这个问题是因为网页脚本中有禁止鼠标右键动作的脚本,很好解决,换个浏览器(GreenBrowser - 绿色浏览器)就可以了,里面有解除鼠标右键禁止功能,这样你想怎么复制就怎么复制。

2、你直接用鼠标拖曳选中?
其实,可以用快捷键的方式来选中,复制的,如下:
把你所要发送的网页打开,Ctrl+A一下(这是全体选中,包括网页的全部以及滚动条以下的内容),再Ctrl+C复制。
然后再在你要编辑的信件中Ctrl+V粘贴,这样就能把网页中的内容全部都写在邮件中,包括所有的图片链接,其实等于是把这个网页都搬进了信件里,别人要想查看内容还是以网页的形式链接出去的。
选择浏览器上方菜单“文件”另存为
保存在你制定的文件夹内
再打开你保存的文件夹
会发现里面有两个文件
一是**.html
一是**.files

‘拾’ php保存远程图片到本地

$img = file_get_contents('http://www.91cici.com/images/logo.gif');
file_put_contents('test.gif',$img);

阅读全文

与php抓取图片到本地相关的资料

热点内容
微信公众号图片压缩 浏览:437
可以在安卓平板上画画的软件是什么 浏览:436
高盛数字加密 浏览:895
软着网上能不能查到自己的源码 浏览:914
编译好的android源码 浏览:993
学校机房云服务器和电脑主机 浏览:10
Python红色五角星画法 浏览:337
压缩饼干翻译 浏览:686
macos命令行窗口的样式 浏览:248
androidflipboard 浏览:878
投资公司投资源码 浏览:75
python语料训练 浏览:338
武夷岩茶产地溯源码 浏览:383
求生组队用什么服务器最好 浏览:24
php回调匿名回调函数 浏览:107
源码翻译软件哪里找 浏览:523
邪恶程序员解说 浏览:600
医生找程序员 浏览:423
cad三维剖切命令 浏览:55
压缩机的气能流多远 浏览:85