当前位置:首页 > 网站建设

curl采集图片并下载回本地保持原文件名

林记seo2019-08-14793人围观
curl  

curl采集图片并下载回本地保持原文件名


<?php
// 设置时区
date_default_timezone_set('Asia/Shanghai');
// 设置脚本超时
set_time_limit(0);
// 设置限制内存
ini_set('memory_limit', '-1');
// 输出编码
header('Content-type:text/html;charset=utf-8');
    error_reporting(E_ERROR|E_WARNING);
 /**
 * 采集远程图片
 * @param string $url 远程文件地址
 * @param string $filename 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)
 * @param array $fileType 允许的文件类型
 * @param string $dirName 文件保存的路径
 * @param int $type 远程获取文件的方式
 * @return json 返回文件名、文件的保存路径

$fileName = '', $dirName, $fileType = array('jpg', 'gif', 'png'), $type = 1
 */
function download_image($url,$fileType = array('jpg', 'gif', 'png'))
{
    if ($url == '')
    {
        return false;
    }

    // 获取文件原文件名
    $defaultFileName = basename($url);

    // 获取文件类型
    /*
    $suffix = substr(strrchr($url, '.'), 1);
    if (!in_array($suffix, $fileType))
    {
        return false;
    }
*/
    // 设置保存后的文件名
    $fileName = $defaultFileName;

    // 获取远程文件资源
    if ($type)
    {
        $ch = curl_init();
       // $timeout = 90;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)');
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
       // curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $file = curl_exec($ch);
        curl_close($ch);
    }
    else
    {
        ob_start();
        readfile($url);
        $file = ob_get_contents();
        ob_end_clean();
    }

    // 设置文件保存路径
    $dirName = 'tuku';
    if (!file_exists($dirName))
    {
        mkdir($dirName, 0777, true);
    }

    // 保存文件
    $res = fopen($dirName . '/' . $fileName, 'a');
    fwrite($res, $file);
    fclose($res);

    return array(
        'fileName' => $fileName,
        'saveDir' => $dirName
    );
}

$tp1=download_image('http://www.xxx.com/xx/1.png','png');//调用方法

 

    版权声明:

    博主在此发文(包括但不限于汉字、拼音、拉丁字母)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人局部或全部同意、支持或者反对观点

    如需要详查请直接与键盘生产厂商法人代表联系。挖井挑水无水表,不会网购无快递。

    文章内容除非注明原创,否则来源于互联网,不代表本人的任何立场;涉及到的软件来源于互联网,仅供个人下载使用,请勿用于商业用途,版权归软件开发者所有,下载后请于24小时内删除,请支持正版!

    因下载本站任何资源造成的损失,全部责任由使用者本人承担!

    如果你是版权方,认为本文内容对您的权益有所侵犯,请联系博主,待博主进行严格地审查和背景调查后,情况属实的将在三天内将本文删除或修正。

    博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。