如何使用 PHP 从 URL 下载文件

使用 PHP 从 URL 下载文件

有两种使用PHP从URL下载文件的一般方法:

1. 使用 PHP file_get_contents() 和 file_put_contents() 函数:

仅当 Web 宿主允许函数运行时,才能使用此方法。出于安全原因,许多虚拟主机都关闭了此功能,因此您应该在使用此方法之前检查该功能是否已启用。file_get_contents

成功获取文件后,将用于实际将文件保存到某个位置。file_put_contents

<?php

// 设置下载URL
$fileUrl = 'https://www.baidu.com';

// 使用basename()获取文件名和扩展名
$fileName = basename( $fileUrl );

// 指定文件保存路径
$savePath = '/dir/' . $fileName;

// 使用file_get_contents获取文件,使用@隐藏可能的错误
$file = @file_get_contents( $fileUrl );

// 使用file_put_contents使用我们定义的路径保存文件,并检查是否有任何错误
if ( file_put_contents( $savePath, $file ) ) {
    echo 'File downloaded successfully';
} else {
    echo 'File failed to download';
}

如果消息告诉下载成功,则文件将存储在我们定义的保存路径上。

2. 使用 PHP CURL 和 fopen()

CURL方法使用得比较广泛,建议您使用PHP CURL从URL下载文件,而不是使用函数。file_get_contents

CURL提供了更多的兼容性,对下载过程的更多控制,并帮助您熟悉在PHP中使用CURL,这对于PHP中的许多其他与网络相关的任务至关重要。此外,使用文件交互任务将更方便。fopen

要使用PHP和CURL从URL下载文件,示例:fopen

<?php

// 设置下载URL
$fileUrl = 'https://www.baidu.com';

// 初始化CURL
$ch = curl_init( $url );

// 使用basename()获取文件名和扩展名
$fileName = basename( $fileUrl );

// 指定文件保存路径
$savePath = '/dir/' . $fileName;

// 初始化fopen指针来存储文件。
// 'w'是写模式,'b'是二进制模式,如果文件是基于文本的文件,可以被排除
$fp = fopen( $savePath, 'wb' );

// 将文件传输选项和文件头设置为CURL
curl_setopt( $ch, CURLOPT_FILE, $fp );
curl_setopt( $ch, CURLOPT_HEADER, 0 );

// 执行CURL会话
curl_exec( $ch );

// 运行后关闭会话以释放资源
curl_close( $ch );

// 关闭文件指针
fclose( $fp );

如果运行代码后未显示错误,则文件将存储在定义的位置。$savePath

文章链接:https://www.haah.net/archives/8386.html
文章标题:如何使用 PHP 从 URL 下载文件
文章版权:辉哥博客 (https://www.haah.net) 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!
本文最后更新发布于2022年09月06日 12时13分40秒,某些文章具有时效性,若有错误或已失效,请在下方留言或联系辉哥:m@haah.net

给TA买糖
共{{data.count}}人
人已买糖
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
我是底线可爱胖!冲鸭~