php保存文章中远程图片到本地

转载 2013年12月04日 14:16:45
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>php保存远程图片到本地,php正则匹配文章中的图片地址</title>
</head>
<body>
<?php
//保存文章中远程图片到本地
// 文件保存目录路径(请更换为你自己的路径, 你可以echo一下)
$save_path = $_SERVER ['DOCUMENT_ROOT'] . 'swfupload/attached/';
// 文件保存目录URL
$save_url = '/swfupload/attached/';
$save_path = realpath ( $save_path ) . '/';
// 图片存储目录
$imgPath = $save_path . date ( "Ymd" );
$imgUrl = $save_url . date ( "Ymd" );

// 创建文件夹
if (! is_dir ( $imgPath )) {
    @mkdir ( $imgPath, 0777 );
}
$content = '这里是文章内容,这里插入一张图片测试 <img src="http://www.yanue.net/wp-content/uploads/2012/03/48ef3a3e1f30e9246abc40834c086e061c95f7521.jpg">';
$content = stripslashes ( $content );
$img_array = array ();
// 匹配所有远程图片
preg_match_all ( "/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU", $content, $img_array );
// 匹配出来的不重复图片
$img_array = array_unique ( $img_array [2] );
print_r($img_array);
// 时间无限制
set_time_limit ( 0 );
foreach ( $img_array as $key => $value ) {
    $value = trim ( $value );
    // 读取远程图片
    $get_file = @file_get_contents ( $value );
    // 保存到本地图片名称
    $imgname = date ( "YmdHis" ) . '_' . rand ( 10000, 99999 ) . "." . substr ( $value, - 3, 3 );
    // 保存到本地的实际文件地址(包含路径和名称)
    $fileName = $imgPath . '/' . $imgname;
    // 实际访问的地址
    $fileurl = $imgUrl . "/" . $imgname;
    // 文件写入
    if ($get_file) {
        $fp = @fopen ( $fileName, "w" );
        @fwrite ( $fp, $get_file );
        @fclose ( $fp );
    }
    // 替换原来的图片地址
    $content = ereg_replace ( $value, $fileurl, $content );
}
echo $content;
?>
</body>
</html>


相关文章推荐

php获取html上传图片并保存至本地服务器

功能描述:我以获取图片为例,使用这个标签获取本地图片(文件)并且能够显示在当前页面,然后上传至本地服务器,并存进数据库(存储的是图片的地址,并不是文件本身)。 其中,显示图片的js代码是参考网上一位...

PHP如何接受上传的图片并保存到本地

php作为后端接受上传的图片还是很简单的,需要用到FILES,当客户端或web端向后端post图片时,我们可以用_FILES,当客户端或web端向后端post图片时,我们可以用_FILE接收图片,然后...

PHP抓取远程图片到本地保存

最近在工作中开发了一个用户素材功能,里面需要将网上的各种图片素材进行本地化存储。于是在网上找了一些相关资料,并根据自身开发需要,整理了一下主要的逻辑代码。 /** * PHP将网页上的图片攫取到本地...

php抓取远程内容并保存到本地

function getImage($url,$save_dir='',$filename='',$type=1){ if(trim($url)==''){ return ar...

php获取远程图片并把它保存到本地

http://www.php100.com/html/php/lei/2013/0905/5367.html 在php中我们经常使用写一些简单的采集功能,这样可以自动把远程服务器的图片或资源...

PHP封装保存远程图片函数

前段时间工作原因接触到需要保存远程图片,尝试了几种方法,最后总结封装出来了一个函数,可适应任何远程图片,代码如下: /** * $url 目标网址 * $filename 保存...

php远程抓取网站图片并保存

转载来自:http://blog.csdn.net/china_skag/article/details/18452883   /**  * 一个用于抓取图片的类  *  * @pa...

php采集远程文章简单类

ios本地通知和远程通知详解-------(注:文章最后有个php服务端实现DEMO)

声明: 这篇文章是我转载在百度空间的一篇介绍ios推送通知的好文章,想收藏起来以备不时之需,同时分享给所有需要的朋友们(分类译文是为了更多人看到),这是我找了好几天发现的最有价值的一篇文章了,但由于百...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php保存文章中远程图片到本地
举报原因:
原因补充:

(最多只允许输入30个字)