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 addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
学习php分页代码实例
Oct 24 PHP
php网站地图生成类示例
Jan 13 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
使用WAMP搭建PHP本地开发环境
May 10 PHP
php实现页面纯静态的实例代码
Jun 21 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
PHP定义字符串的四种方式详解
Feb 06 #PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 #PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 #PHP
Yii2 中实现单点登录的方法
Mar 09 #PHP
php中输出json对象的值(实现方法)
Mar 07 #PHP
php 读写json文件及修改json的方法
Mar 07 #PHP
php读取本地json文件的实例
Mar 07 #PHP
You might like
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
js分页代码分享
2014/04/28 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
EsLint入门学习教程
2017/02/17 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
django之常用命令详解
2016/06/30 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
儿童学习python的一些小技巧
2018/05/27 Python
我就是这样学习Python中的列表
2019/06/02 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
Sony C++笔试题
2013/03/10 面试题
本科生详细的自我评价
2013/09/19 职场文书
应届生保险求职信
2013/11/11 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js