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 discuz 主题表和回帖表的设计
Mar 13 PHP
关于php循环跳出的问题
Jul 01 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
实例讲解PHP设计模式编程中的简单工厂模式
Feb 29 PHP
php模板引擎技术简单实现
Mar 15 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
php上传图片类及用法示例
May 11 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
laravel实现于语言包的完美切换方法
Sep 29 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 文件缓存的性能测试
2010/04/25 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
js动态生成指定行数的表格
2013/07/11 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
用Python实现KNN分类算法
2017/12/22 Python
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
python队列Queue的详解
2019/05/10 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
大学生军训自我评价分享
2013/11/09 职场文书
投标承诺函格式
2015/01/21 职场文书