php文件下载

php文件下载

需要通过php下载别人服务器资源到自己服务器里,这里我总结了一个我公司后端大佬封装的一个php下载文件函数,希望对大家有帮助。

/**
* 文件下载
* $url远程路径,
* $rename 文件名称,
* $ext文件后缀,
* $path 存放路径
*/
public static function download($url, $rename, $path = '', $ext = "")
{
    //没有传入文件尾椎的时候,获取文件尾椎
    if (empty($ext)) {
        $ext = substr(strrchr($url, '.'), 1);;
    }

    if (empty($path)) {
        switch ($ext) {
            case 'jpg':    //下载图片
                $file_path = 'uploads/images/';
                break;
            case 'png':    //下载图片
                $file_path = 'uploads/images/';
                break;
            case 'pdf':    //下载PDF
                $file_path = 'uploads/pdf/';
                break;
            case 'rar':    //下载压缩包
                $file_path = 'uploads/rar/';
                break;
            case 'zip':    //下载压缩包
                $file_path = 'uploads/rar/';
                break;
            default:
                $file_path = 'uploads/files/';
                break;
        }
    } else {
        $file_path = 'uploads/' . $path;
    }

    //判断目录是否存在,不存在创建
    if (is_dir($file_path) == false) {
        mkdir($file_path, 0777);
    }

    //打开文件
    $fp = fopen($file_path . iconv('UTF-8', 'GBK', $rename) . "." . $ext, 'w+');

    //读取远程文件,使用中文文件名需要转码
    $rawdata = file_get_contents($url);

    //写入
    fwrite($fp, $rawdata);
    fclose($fp);

    // 返回路径
    return '/'. $file_path . $rename . "." . $ext;
}
暂无评论

发送评论 编辑评论


				
上一篇
下一篇