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下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
Cakephp 执行主要流程
Mar 24 PHP
php下连接mssql2005的代码
Jan 17 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
PHP 实现的将图片转换为TXT
Oct 21 PHP
php中使用websocket详解
Sep 23 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
php查看一个变量的占用内存的实例代码
Mar 29 PHP
PHP7 其他修改
Mar 09 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引用效率问题分析
2012/03/23 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
python类装饰器用法实例
2015/06/04 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
个人工作表现自我评价
2015/03/06 职场文书
严以用权学习心得体会
2016/01/12 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang