PHP采集图片实例(PHP采集)

网络整理 - 08-17

以下为引用的内容:

<?php
/**
*  采集图片php程序
*
*  Copyright(c) 2008 by 小超(ccxxcc) All rights reserved
*
*  To contact the author write to {@link mailto:ucitmc@163.com}
*
* @author ccxxcc
* @version $Id: {filename},v 1.0 {time} $
* @package system
*/

set_time_limit(0);
/**
* 写文件
* @param    string  $file   文件路径
* @param    string  $str    写入内容
* @param    char    $mode   写入模式
*/
function wfile($file,$str,$mode='w')
{
    $oldmask = @umask(0);
    $fp = @fopen($file,$mode);
    @flock($fp, 3);
    if(!$fp)
    {
        Return false;
    }
    else
    {
        @fwrite($fp,$str);
        @fclose($fp);
        @umask($oldmask);
        Return true;
    }
}

function savetofile($path_get,$path_save)
{
        @$hdl_read = fopen($path_get,'rb');
        if($hdl_read == false)
        {
                echo("<span>$path_get can not get</span>");
                Return ;
        }
        if($hdl_read)
        {
                @$hdl_write = fopen($path_save,'wb');
                if($hdl_write)
                {
                        while(!feof($hdl_read))
                        {
                                fwrite($hdl_write,fread($hdl_read,8192));
                        }
                        fclose($hdl_write);
                        fclose($hdl_read);
                        return 1;
                }
                else
                        return 0;
        }
        else
                return -1;
}

function getExt($path)
{
        $path = pathinfo($path);
        return strtolower($path['extension']);
}

/**
* 按指定路径生成目录
*
* @param    string     $path    路径
*/
function mkDirs($path)
{
    $adir = explode('http://www.cuoxin.com/',$path);
    $dirlist = '';
    $rootdir = array_shift($adir);
    if(($rootdir!='.'||$rootdir!='..')&&!file_exists($rootdir))
    {
        @mkdir($rootdir);
    }
    foreach($adir as $key=>$val)
    {
        if($val!='.'&&$val!='..')
        {
            $dirlist .= "/".$val;
            $dirpath = $rootdir.$dirlist;
            if(!file_exists($dirpath))
            {
                @mkdir($dirpath);
                @chmod($dirpath,0777);
            }
        }
    }
}

/**
* 从文本中取得一维数组
*
* @param    string     $file_path    文本路径
*/
function getFileListData($file_path)
{
    $arr = @file($file_path);
    $data = array();
    if(is_array($arr) && !empty($arr))
    {
        foreach($arr as $val)
        {
            $item = trim($val);
            if(!empty($item))
            {
                $data[] = $item;
            }
        }
    }
    Return $data;
}

//采集开始

//传入自己的需要采集的图片url列表文本文件 每个图片url写一行
$url_file = isset($_GET['file'])&&!empty($_GET['file'])?$_GET['file']:null;
$txt_url = "txt/".$url_file;

$urls = array_unique(getFileListData($txt_url));
if(empty($urls))
{
        echo('<div style="color:red">无链接地址</div>');
        die();
}
$save_url = "images/".date("y_m_d",time())."/";
mkDirs($save_url);  //按日期建立文件夹
$i = 1;
if(is_array($urls)&&count($urls))
{
        foreach($urls as $val)
        {
                savetofile($val,$save_url.date("His",time())."_".$i.".".getExt($val));
                echo($i.".".getExt($val)." got\n");
                $i++;
        }
}

echo('<div style="color:green">finish</div>');

?>