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 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
SMARTY学习手记
Jan 04 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
PHP fclose函数用法总结
Feb 15 PHP
goto语法在PHP中的使用教程
Sep 17 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的FTP学习(一)
2006/10/09 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
js数组的操作详解
2013/03/27 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
原生js获取left值和top值的三种方法
2017/08/02 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
vue中监听返回键问题
2019/08/28 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
python计算最大优先级队列实例
2013/12/18 Python
六个窍门助你提高Python运行效率
2015/06/09 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
小学优秀学生评语
2014/12/29 职场文书
银行给客户的感谢信
2015/01/23 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
MongoDB支持的索引类型
2022/04/11 MongoDB