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 特殊字符处理函数
Sep 05 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
PHP 获取文件权限函数介绍
Jul 11 PHP
php对数组排序代码分享
Feb 24 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
php计算年龄精准到年月日
Nov 17 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
php实现遍历文件夹的方法汇总
Mar 02 PHP
PHP基于面向对象封装的分页类示例
Mar 15 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
Yii 框架入口脚本示例分析
May 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与已存在的Java应用程序集成
2006/10/09 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
详解JavaScript函数
2015/12/01 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
简单谈谈js的数据类型
2017/09/25 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
linux下安装easy_install的方法
2013/02/10 Python
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
jupyter安装小结
2016/03/13 Python
Python编程实现正则删除命令功能
2017/08/30 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python实现拼图小游戏
2020/02/22 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
大学生毕业自荐信
2013/10/10 职场文书
员工工作表现评语
2014/04/26 职场文书
公司节能减排方案
2014/05/16 职场文书
民生工作实施方案
2014/05/31 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
企业环保标语
2014/06/10 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书