php远程下载文件并保存到指定路径

2021-03-06 344 阅读 0评论

<?php

function getFile($url, $save_dir = '', $filename = '', $type = 0) {

    if (trim($url) == '') {

        return false;

    }

    if (trim($save_dir) == '') {

        $save_dir = './';

    }

    if (0 !== strrpos($save_dir, '/')) {

        $save_dir.= '/';

    }

    //创建保存目录

    if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {

        return false;

    }

    //获取远程文件所采用的方法

    if ($type) {

        $ch = curl_init();

        $timeout = 5;

        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

        $content = curl_exec($ch);

        curl_close($ch);

    } else {

        ob_start();

        readfile($url);

        $content = ob_get_contents();

        ob_end_clean();

    }

    $size = strlen($content);

    //文件大小

    $fp2 = @fopen($save_dir . $filename, 'a');

    fwrite($fp2, $content);

    fclose($fp2);

    unset($content, $url);

    return array(

        'file_name' => $filename,

        'save_path' => $save_dir . $filename

    );

}

$url = "http://www.baidu.com/img/baidu_jgylogo3.gif";

$save_dir = "down/";

$filename = "test.gif";

$res = getFile($url, $save_dir, $filename, 1);

var_dump($res);

?>

发表评论

快捷回复: 表情:
Addoil Applause Badlaugh Bomb Coffee Fabulous Facepalm Feces Frown Heyha Insidious KeepFighting NoProb PigHead Shocked Sinistersmile Slap Social Sweat Tolaugh Watermelon Witty Wow Yeah Yellowdog
提交
评论列表 (有 0 条评论, 344人围观)