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 相关文章推荐
多文件上传的例子
Oct 09 PHP
php 进度条实现代码
Mar 10 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
php强制运行广告的方法
Dec 01 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
浅谈json_encode用法
Mar 05 PHP
日常整理PHP中简单的图形处理(经典)
Oct 26 PHP
PHP类相关知识点实例总结
Sep 28 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
php self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
vue 组件简介
2020/07/31 Javascript
详解Python中的循环语句的用法
2015/04/09 Python
部署Python的框架下的web app的详细教程
2015/04/30 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
Python 中的 else详解
2016/04/23 Python
Python 序列的方法总结
2016/10/18 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
python-numpy-指数分布实例详解
2019/12/07 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
邮政员工辞职信
2014/01/16 职场文书
法制宣传口号
2014/06/16 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
被告答辩状范文
2015/05/22 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL