千家信息网

php怎么采集内容中带有图片地址的远程图片并保存

发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,这篇文章主要讲解了"php怎么采集内容中带有图片地址的远程图片并保存",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"php怎么采集内容中带有图片地址的远
千家信息网最后更新 2024年10月23日php怎么采集内容中带有图片地址的远程图片并保存

这篇文章主要讲解了"php怎么采集内容中带有图片地址的远程图片并保存",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"php怎么采集内容中带有图片地址的远程图片并保存"吧!

代码如下:

function my_file_get_contents($url, $timeout=30) {
if ( function_exists('curl_init') )
{
$ch = curl_init();
curl_setopt ($ch, curlopt_url, $url);
curl_setopt ($ch, curlopt_returntransfer, 1);
curl_setopt ($ch, curlopt_connecttimeout, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}
else if ( ini_get('allow_url_fopen') == 1 || strtolower(ini_get('allow_url_fopen')) == 'on' )
{
$file_contents = @file_get_contents($url);
}
else
{
$file_contents = '';
}
return $file_contents;
}



复制代码 代码如下:

function get_remote($body,$title){

$img_array = array();
$img_path = realpath("../../../upfile/news/").'/'.date("y/m/d/"); //采集远程图片保存地址
//die($img_path);
$img_rpath='/upfile/news/'.date("y/m/d/"); //设置访问地址
$body = stripslashes(strtolower($body));
preg_match_all("/(src|src)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|png))/isu",$body,$img_array);
$img_array = array_unique($img_array[2]);
foreach ($img_array as $key => $value) {
$get_file = my_file_get_contents($value,60);
$filetime = time();
$filename = date("ymdhis",$filetime).rand(1,999).'.'.substr($value,-3,3);
if(emptyempty($get_file)){
@sleep(10);
$get_file = my_file_get_contents($value,30);
if(emptyempty($get_file)){
$body = preg_replace("/".addcslashes($value,"/")."/isu", '/notfound.jpg', $body);
continue;
}
}
if(!emptyempty($get_file) ){
if( mkdirs($img_path) )
{
$fp = fopen($img_path.$filename,"w");
if(fwrite($fp,$get_file)){
$body = preg_replace("/".addcslashes($value,"/")."/isu", $img_rpath.$filename, $body);
}
fclose($fp);
@sleep(6);
}
}

}
$body =str_replace("return $body;

}

function mkdirs($dir)
{
if(!is_dir($dir)){
if(!mkdirs(dirname($dir))){
return false;}
if(!mkdir($dir,0777)){
return false;}
}
return true;
}
//用法如下:

$str ='fasfsdafsa';
echo get_remote($str,'图片');

感谢各位的阅读,以上就是"php怎么采集内容中带有图片地址的远程图片并保存"的内容了,经过本文的学习后,相信大家对php怎么采集内容中带有图片地址的远程图片并保存这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

内容 图片 地址 有图片 中带 代码 学习 就是 思路 情况 文章 更多 知识 知识点 篇文章 跟着 问题 实践 推送 研究 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 成为一流软件开发者的建议 网络安全你我同行的手抄报 应用软件开发区美食 长春燃气网络安全 地下城堡3只有一个服务器吗 合肥视频点播软件开发哪家好 网络安全检查工作胸牌 2021有什么网络安全赛事吗 孝感租房软件开发 兴国软件开发项目管理 三国杀十周年服务器是什么 手机热点连电脑无法访问服务器 浪潮服务器硬盘故障 福建夺宝联盟网络技术 济南应心网络技术有限公司怎么样 三级网络技术工作室 sql数据库忘记密码 业务系统应用网络安全问题有哪些 艾尔登法环连接服务器后一窜英文 失落的方舟显示服务器身份验证失败 数据库系统 价格 湖北通信软件开发过程服务标准 数字资产软件开发 高斯数据库a股上市公司 cpu和高速缓存数据库 服务器更换后cpu只剩一核 普陀区本地网络技术案例 山东省浪潮服务器代理哪里有 dell 服务器 4 天津华为服务器维修调试虚拟主机
0