php自动保存文章内容中的图片

 代码如下 复制代码

<?php
/*
author: ssh_kobe
date: 20110602
shortage: 如果网页中的图片路径不是绝对路径,就无法抓取
*/
set_time_limit(0);//抓取不受时间限制

$URL='http://pp.baidu.com/';//任意网址

get_pic($URL);

function get_pic($pic_url) {
//获取图片二进制流
$data=CurlGet($pic_url);
/*利用正则表达式得到图片链接*/
$pattern_src = '/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg]))['|"].*?[/]?>/';
$num = preg_match_all($pattern_src, $data, $match_src);
$arr_src=$match_src[1];//获得图片数组
get_name($arr_src);

echo "<br>finished!!!";
return 0;
}

/*得到图片类型,并将其保存到与该文件同一目录*/
function get_name($pic_arr)
{
//图片类型
$pattern_type = '/(/.(jpg|bmp|jpeg|gif|png))/';

foreach($pic_arr as $pic_item){//循环取出每幅图的地址
$num = preg_match_all($pattern_type, $pic_item, $match_type);
$pic_name = get_unique().$match_type[1][0];//改时微秒时间戳命名
//以流的形式保存图片
$write_fd = @fopen($pic_name,"wb");
@fwrite($write_fd, CurlGet($pic_item));
@fclose($write_fd);
echo "[OK]..!";
}
return 0;
}

//通过微秒时间获得唯一ID
function get_unique(){
list($msec, $sec) = explode(" ",microtime());
return $sec.intval($msec*1000000);
}

//抓取网页内容
function CurlGet($url){
$url=str_replace('&','&',$url);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);

//curl_setopt($curl, CURLOPT_REFERER,$url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; SeaPort/1.2; Windows NT 5.1; SV1; InfoPath.2)");
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
$values = curl_exec($curl);
curl_close($curl);
return $values;
}
?>

时间: 2024-10-23 12:06:36

php自动保存文章内容中的图片的相关文章

js获取文章内容中的图片

js获取文章内容中的图片 <Script language="VBScript"> <!-- msgbox getphoto("应明确写出问题所在或关键字<img src=""aaa.gif""/>霸王") Function getphoto(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp objRegExp.Ig

[MVC]如何删除文章内容中的图片

1.实现代码 if (!string.IsNullOrWhiteSpace(entity.Content)) { var immgList = TextHelper.GetImgUrlList(entity.Content); var mainUrl = (Request.Url.ToString()).Replace(Request.RawUrl, ""); foreach (var item in immgList) { var filepath = item.Replace(ma

正则文章内容中img图片地址与正则内容中的a连接地址

 代码如下 复制代码   $body ='<img src="Image/2009112422220515.gif" alt="楼盘网loupan"  border="0" />';   $Link ='fdas<a href="http://www.111cn.net" target="_blank">网页制作教程教程</a>';   $array ="aa,

把文章内容中涉及到的图片自动保存到本地服务器

服务器 <%'函数功能:把文章内容中涉及到的图片自动保存到本地服务器.(注意:请先在目录下创建tempfile目录,用来保存临时图片)'作者:小灰'QQ:103895'主页:http://asp2004.net'2004.9.13'转载或使用请不要删除上面这些信息.谢谢! const savepath="tempfile/" function myreplace(str)newstr=strset objregEx = new RegExpobjregEx.IgnoreCase

php自动采集内容中带有图片地址的远程图片保存到本地

php自动采集内容中带有图片地址的远程图片保存到本地 function my_file_get_contents($url, $timeout=30) {  if ( function_exists('curl_init') )  {   $ch = curl_init();   curl_setopt ($ch, curlopt_url, $url);   curl_setopt ($ch, curlopt_returntransfer, 1);   curl_setopt ($ch, cur

php采集内容中带有图片地址的远程图片并保存的方法

 这篇文章主要介绍了php采集内容中带有图片地址的远程图片并保存的方法,可实现采集并保存远程图片的功能,是非常实用的技巧,需要的朋友可以参考下     本文实例讲述了php采集内容中带有图片地址的远程图片并保存的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: function my_file_get_contents($url, $timeout=30) { if ( function_exists('curl_init') ) { $ch = curl_init(); curl

浅析在文章内容中锚文本使用的三个细节

文章内容中锚文本使用的三个细节-文章锚文本">  对于搜索引擎和用户的友好体验来说锚文本的功效可能是在几种链接形式中效果最好的.对于这点我想很做站长都深有体会.对于锚文本的定义,我们可以定义为外链建设的锚文本还有內链建设的锚文本.对于外链建设中的锚文本可能我们接触的比较多,对于其细节也比较注意,而我们往往容易忽略內链建设中的锚文本使用的细节.而站内的锚文本的使用对于我们站点的內链建设中有起着关键性的作用.如果处理的不好的话,不仅用户体验性差,还可能引起搜索引擎不必要的惩罚.那么对于站内锚文

asp提取文章内容描述(去除图片,html连接)

asp教程提取文章内容描述(去除图片,html连接)    <body>         <script type="text/vbscript">         <!--             dim s,k             s = "aa<img alt=""caaab"" alt=""aaa"" src=""images/i

修订wordpress自动保存文章时间时隔

自动保存功能对服务器会产生一定的压力,写文章可能有间歇性卡的感觉,可以将自动保存时间设置的长一点. 修改wordpress自动保存文章时间: 打开wp-config.php文件,在 require_once(ABSPATH . 'wp-settings.php'); 前添加这段代码: define('AUTOSAVE_INTERVAL', 600 );   AUTOSAVE_INTERVAL表示自动保存的时间间隔,600表示10分钟,时间可以随意设,10分钟保存一次就差不多了. 如果我的配置如下