php采集文章中的图片获取替换到本地(实现代码)


Posted in PHP onJuly 08, 2013
/**
 * 获取替换文章中的图片路径
 * @param string $xstr 内容
 * @param string $keyword 创建照片的文件名
 * @param string $oriweb 网址
 * @return string
 * 
 */
function replaceimg($xstr,$keyword, $oriweb){     //保存路径
    $d = date('Ymd', time());
    $dirslsitss = '/var/www/weblist/uploads/'.$keyword.'/'.$d;//分类是否存在
    if(!is_dir($dirslsitss)) {
        @mkdir($dirslsitss, 0777);
    }
    //匹配图片的src
    preg_match_all('#<img.*?src="([^"]*)"[^>]*>#i', $xstr, $match);
    foreach($match[1] as $imgurl){
        $imgurl = $imgurl;
        if(is_int(strpos($imgurl, 'http'))){
            $arcurl = $imgurl;
        } else {
            $arcurl = $oriweb.$imgurl;        
        }
        $img=file_get_contents($arcurl);
        
        if(!empty($img)) {
            //保存图片到服务器
            $fileimgname = time()."-".rand(1000,9999).".jpg";
            $filecachs=$dirslsitss."/".$fileimgname;
            $fanhuistr = file_put_contents( $filecachs, $img );
            $saveimgfile = "/uploads/$keyword"."/".$d."/".$fileimgname;
            
            $xstr=str_replace($imgurl,$saveimgfile,$xstr);
        }
    }
    return $xstr;
}
PHP 相关文章推荐
php自定义函数之递归删除文件及目录
Aug 08 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
PHP循环语句笔记(foreach,list)
Nov 29 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
解析ajax事件的调用顺序
Jun 17 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
php类自动加载器实现方法
Jul 28 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
PHP与Perl之间知识点区别整理
Mar 19 PHP
php打开文件fopen函数的使用说明
Jul 05 #PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 #PHP
如何利用PHP执行.SQL文件
Jul 05 #PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 #PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 #PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 #PHP
浅析PHP的ASCII码转换类
Jul 05 #PHP
You might like
php中利用explode函数分割字符串到数组
2014/02/08 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python3.5仿微软计算器程序
2020/03/30 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
python中使用while循环的实例
2019/08/05 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
c++工程师面试问题
2013/08/04 面试题
Java如何读取CLOB字段
2013/10/10 面试题
写好自荐信的技巧
2013/11/08 职场文书
社区七一党员活动方案
2014/01/25 职场文书
店长职务说明书
2014/02/04 职场文书
士力架广告词
2014/03/20 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
欢迎新生标语
2014/10/06 职场文书
学校重阳节活动总结
2015/03/24 职场文书
中标通知书
2015/04/17 职场文书
经典祝酒词大全
2015/08/12 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python