php自动抓取文章图片,从文章中提取图片,把图片保存到本地,自动提取缩略图...

开发二代旅游网站程序和CMS的时候,有一个需求,就是从网上复制的内容,里面包含图片的,需要对把图片提取出来,并且保存到本地,并且把图片的URL地址本地化,以下是实现的代码。

开发二代旅游网站程序和CMS的时候,有一个需求,就是从网上复制的内容,里面包含图片的,需要对把图片提取出来,并且保存到本地,并且把图片的URL地址本地化,以下是实现的代码,功能和效果可以参考二代旅游CMS官网(http://www.erdaicms.com):

/* 远程图片本地化 $body为html原内容 */

function auto_save_image($body){

$img_array = explode('&',$body);

$img_array = array();

preg_match_all("/(src)=[\"|\'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png|JPEG|GIF|PNG))[\"|\'| ]{0,}/isU", $body, $img_array);

$img_array = array_unique($img_array[2]);//也可以自动匹配

set_time_limit(0);

$imgPath = "Uploads/article/".date("Y-m-d")."/";

$milliSecond = strftime("%H%M%S",time());

if(!is_dir($imgPath)) @mkdir($imgPath,0777);

foreach($img_array as $key =>$value)

{

$value = trim($value);

$get_file = @file_get_contents($value);

$rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);

if($get_file)

{

$fp = @fopen($rndFileName,"w");

@fwrite($fp,$get_file);

@fclose($fp);

}

$body = @ereg_replace($value, '/'.$rndFileName, $body);

}

return $body;

}/* 提取图片数组 */function auto_return_image($body){

$img_array = explode('&',$body);

$img_array = array();

preg_match_all("/(src)=[\"|\'| ]{0,}(\/(.*)\.(gif|jpg|jpeg|bmp|png|JPEG|GIF|PNG))[\"|\'| ]{0,}/isU", $body, $img_array);

$img_array = array_unique($img_array[2]);//也可以自动匹配

return $img_array;

}最终效果如下:

572d5cd9eb108.png

common.gif

1.png

( 10.84 KB 下载:13 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的php探针,php探针程序的推荐

在我们之前的文章已经为大家介绍了什么是php探针,以及他的主要作用是什么,如果你接触了cms或许就会有点了解,当然,不要紧,看完这篇就知道php探针是做什么的了。php探针通常是用来探测空间、服务器运行的状况和php相关信…

php熊掌号怎么设置json-ld,dedecms织梦系统对接百度熊掌号并添加JSON_LD数据

百度近期推出的百度熊掌号非常的不错,我的dedecms织梦系统早早就对接好了,它能对你的原创文章进行原创保护,并评出熊掌号搜索指数,熊掌号搜索指数是对你文章的内容质量,用户喜爱、原创能力、活跃表现、领域专注五个维度进行计算评估而得到的。你的dedecms织梦网站开通熊掌号之后…

php获取信息,PHP文件信息获取函数

知识点:basename():获取文件名,传入第二个参数则只显示文件名,不显示后缀dirname():获取文件路径pathinfo():将文件信息存入一个数组,通过索引basename,dirname,extension可以获得对应的文件名,…

mysql pdo 查询一条数据,使用 PDO 关联查询 MySQL 数据

使用pdo关联查询mysql数据try {$pdo new PDO(mysql:hostlocalhost;dbnametest;, root, 123456);// 0.等值联结$sql SELECT c.name, o.id, o.customer_id, o.price FROM orders o, customer c WHERE o.customer_id c.id AND c.name :name;// 1.内联结(与上面等值联结返回的查…

mysql 数据类型怎么用,myMySQL数据库怎么更改表中某字段的数据类型? MySQL数据库使用教程...

在mysql中,可以使用“ALTER TABLE”语句配合“MODIFY”关键字来更改表中某字段的数据类型;语法格式“ALTER TABLE MODIFY ”。(推荐教程:mysql视频教程)在 MySQL 中,ALTER TABLE 语句可以改变原有表的结构,例如增加或删…

matlab multithreading spyder,spyder和python的关系是什么

版权所有:http://wWw.pxcodeS.comspyder和python的关系:1、Spyder是Python的一个简单的集成开发环境;2、它和其他的Python开发环境相比**大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。LHF少儿编程…

python私有成员和保护成员,喜大普奔!Maya 2022来了?!

距离Maya 2020第一个版本发布已经过去将近1年半。各位用户苦等Maya 2021的发布,不料2021没等到,而Maya 2022要来了?!这两天小编刷Maya官网,在帮助页面竟然看到官方放出了“Maya 2022 新特性”的页面!吓得小…

php web教程视频教程下载,Web全栈 PHP+React系列视频教程下载

Web全栈 PHPReact系列视频教程下载课程介绍:此套Web全栈 PHPReact系列视频教程覆盖PHP、前端和区块链应用开发三大热门职位,教程对网络基础、前端基础(HTML CSSJavaScriptjQuery)、网站基础、PHP、React、区块链等均做了详细的讲解,无源码。Web全栈 PHPR…

mac怎么配置php开发环境变量,Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境

之前刚装好了 HomeBrew ,接下来就要安装 环境了。注意:如果 brew install 出以下错误, 则安装时使用arch -arm64 brew install软件包名 进行安装安装 Nginxbrew install nginx安装成功后,通过 brew info nginx ,查看 nginx 信息,最主要是看 网…

php5 dm.dll,win10模块dll加载失败二进制怎么解决?

首先使用【WinR】,打开运行窗口,输入“Powershell”,并回车;然后在打开的Powershell管理器中,输入“Get-AppXPackage -AllUsers | Foreach {....}”命令;最后等待系统自行处理即可解决方法:1、我…

oracle将千万行查询优化到一秒内,oracle下一条SQL语句的优化过程(比较详细)

oracle下一条SQL语句的优化过程(比较详细)更新时间:2010年04月14日 23:56:49 作者:很简单的一次调整,语句加了适当的索引后性能就有大幅的提升。当时看到这条语句的时候,第一感觉就是执行效率肯定低下。语句的功能是求某一客户当…

oracle tb级别数据量,备份TB级别Oracle数据库的一些技巧

备份TB级别数据的一些技巧1、 考虑使用增量备份, 不要老是想着用全量备份2、 对于增量备份而言 开启block change tracking 能极大地减少物理读,提升速度3、 11g以后对于bigfile tablespace可以启用section size 来提升速度4、 考虑到负载更低的 Data Gu…

oracle ora 47306,Oracle SQL提示含义与示例 --- 分布式查询和并行提示

《Oracle 高性能SQL引擎剖析:Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充,帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。语法:DRIVING_SITE([])描述:指示优化器选择那个数据库作为…

linux看网络电影,Linux中看电影、听音乐

Linux中看电影,听音乐目录:一、简介二、软件安装三、简单使用一、简介一直以来很多人不使用Linux作为自己的日常操作系统,是因为Linux在多媒体方面的应用不给力,现在的Linux有很多个版本(RedHat、Ubuntu、CentOS、SUSE等)。但这些…

linux自动化处理excel,Excel:批处理实现自动化操作(转)

Excel:批处理实现自动化操作(转)信息技术课教学过程中经常要做一些重复的工作,如建立一个班级的学生文件夹,把作业分发到学生文件夹中等等。《中国电脑教育报》2004第5期F6版《批量自动生成文件夹》一文构思巧妙,它通过VBScript来…

LINUX无法运行navixat,关于RX5700XT的驱动方法以及bug解决方案

AMD Navi显卡在macOS Catalina 10.15.1 beta2中已经正式免驱,博主购入测试,现公布新显卡的驱动方法以及bug解决方案。Windows使用DDU卸载原驱动并下载安装官方的RX5700XT的驱动即可。LinuxLinux 5.3起正式加入Navi显卡支持,所以我们要做的就是…

redhat linux yum仓库,关于RHEL6发行版yum仓库的配置

红帽的企业6安装好后,往往好多初学者不知道如何配置本地的yum仓库,而一些常用的软件都在yum仓库中包含了,这里我把yum的配置写到下面(光盘):1.首先将光盘插入电脑,执行命令:mount -t iso9660 /dev/cdrom /m…

ghost linux 全盘拷贝,如何用ghost实现小硬盘对大硬盘的全盘拷贝?

先安装Ghost然后启动机器到纯DOS模式下,并且不加载任何应用程序,执行Ghost.exe文件,在显示出Ghost主画面后,选择Local→Partition→To Image",屏幕显示出硬盘选择画面和分区选择画面,请根据需要选择所…

内网中入侵linux系统,MSSQL 入侵提权之内网渗透案例分析

图文:udb311主题:MSSQL内网渗透案例分析发表:黑白前线描述:对于内网渗透技术一直感觉很神秘,手中正巧有一个webshell是内网服务器。借此机会练习下内网入侵渗透技术!本文敏感信息以屏蔽!密码都以…

【Linux】僵尸与孤儿 进程等待

目录 一,僵尸进程 1,僵尸进程 2,僵尸进程的危害 二,孤儿进程 1,孤儿进程 三,进程等待 1,进程等待的必要性 2,wait 方法 3,waitpid 方法 4,回收小结…