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 11 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
PHP curl 获取响应的状态码的方法
Jan 13 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
php好代码风格的阶段性总结
Jun 25 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
Yii2框架redis基本应用示例
Jul 13 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 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边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
python密码错误三次锁定(实例讲解)
2017/11/14 Python
一看就懂得Python的math模块
2018/10/21 Python
Django 路由控制的实现代码
2018/11/08 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
python爬虫请求头的使用
2020/12/01 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
调解员先进事迹材料
2014/02/07 职场文书
教师专业自荐信
2014/05/31 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
六年级数学教学反思
2016/02/16 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
详解Redis主从复制实践
2021/05/19 Redis
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers