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正则表达式之定界符和原子介绍
Oct 05 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
php四种基础算法代码实例
Oct 29 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 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 Class 文章
2007/04/04 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
详解js异步文件加载器
2016/01/24 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
js 分页全选或反选标识实现代码
2011/08/09 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
Python实现点云投影到平面显示
2020/01/18 Python
Java的基础面试题附答案
2016/01/10 面试题
史上最牛辞职信
2015/05/13 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
redis缓存存储Session原理机制
2021/11/20 Redis