php 替换文章中的图片路径,下载图片到本地服务器的方法


Posted in PHP onFebruary 06, 2018

php 替换文章中的图片路径,下载图片到本地服务器

/**
 * 获取替换文章中的图片路径
 * @param string $xstr 内容
 * @param string $oriweb 网址
 * @return string
 *
 */
function replaceimg($xstr, $oriweb){
  //保存路径
  $d = date('Ymd', time());
  $saveimgfile_1 = '/uploads/allimg/'.$d;
  $dirslsitss = DEDEROOT.$saveimgfile_1;//分类是否存在
  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 = $saveimgfile_1."/".$fileimgname;
      $xstr=str_replace($imgurl,$saveimgfile,$xstr);
    }
  }
  return $xstr;
}

以上这篇php 替换文章中的图片路径,下载图片到本地服务器的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP开发GUI
Oct 09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
PHP定义字符串的四种方式详解
Feb 06 #PHP
PHP异步进程助手async-helper
Feb 05 #PHP
详解PHP中的外观模式facade pattern
Feb 05 #PHP
浅析PHP开发规范
Feb 05 #PHP
实例讲解PHP页面静态化
Feb 05 #PHP
PHP使用ActiveMQ实例
Feb 05 #PHP
详解PHP中mb_strpos的使用
Feb 04 #PHP
You might like
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
php基本函数汇总
2015/07/09 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
WAF的正确bypass
2017/01/05 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
js读写json文件实例代码
2014/10/21 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
python 读取文件并替换字段的实例
2018/07/12 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
韩国11街:11STREET
2018/03/27 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
事业单位绩效考核实施方案
2014/03/27 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
车间核算员岗位职责
2014/07/01 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
Nginx实现会话保持的两种方式
2022/03/18 Servers