PHP快速实现从URL下载文件的两种方法

1. PHP从URL下载文件介绍

PHP下载文件是web开发中比较常见的操作,这里介绍两种快速实现从URL下载文件的方法。

2. 方法一:使用file_put_contents函数

使用file_put_contents函数的优势在于它可以将整个文件内容下载并保存到指定的文件中。

2.1 示例代码

$url = 'https://www.example.com/file.txt';

$path = $_SERVER['DOCUMENT_ROOT'] . '/downloads/file.txt';

file_put_contents($path, file_get_contents($url));

以上代码使用file_get_contents从指定的URL链接中获取文件内容,并且使用file_put_contents将内容保存到指定的文件地址中。

2.2 解释

$url:需要下载的文件的URL链接。

$path:下载文件的保存路径。

file_get_contents函数:使用指定的URL链接获取文件内容。

file_put_contents函数:将获取的文件内容保存到指定的路径下。

3. 方法二:使用curl函数

curl函数是一种很常用的获取网络资源的方法,也可以用来快速下载文件。

3.1 示例代码

$url = 'https://www.example.com/file.txt';

$path = $_SERVER['DOCUMENT_ROOT'] . '/downloads/file.txt';

$file = fopen($path, 'w');

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_TIMEOUT, 50);

curl_setopt($ch, CURLOPT_FILE, $file);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_exec($ch);

curl_close($ch);

fclose($file);

3.2 解释

$url:需要下载的文件的URL链接。

$path:下载文件的保存路径。

fopen函数:打开指定的文件路径。

curl_init函数:初始化curl。

curl_setopt函数:设置curl的选项。

CURLOPT_TIMEOUT:设置curl执行的最长时间。

CURLOPT_FILE:设置保存下载内容的文件句柄。

CURLOPT_FOLLOWLOCATION:设置是否允许curl跟随重定向链接。

curl_exec函数:执行curl请求。

curl_close函数:关闭curl。

fclose函数:关闭文件句柄。

4. 总结

以上两种方法都是常用的下载文件的方法,其中file_put_contents的代码相对简单,但是无法控制下载的过程;而curl的代码比较复杂,但是可以控制下载的过程。

后端开发标签