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 Smarty模板生成html文档的方法
Apr 12 PHP
php for 循环语句使用方法详细说明
May 09 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
Nov 07 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
php获取当月最后一天函数分享
Feb 02 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
PHP PDOStatement::columnCount讲解
Jan 30 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
php设计模式 Visitor 访问者模式
2011/06/28 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jQuery插件 tabBox实现代码
2010/02/09 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
对python中list的五种查找方法说明
2020/07/13 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
乡镇精神文明建设汇报材料
2014/08/15 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
部队2014年终工作总结
2014/11/27 职场文书
辩论赛新闻稿
2015/07/17 职场文书
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python