关于“PHP使用CURL实现下载文件功能示例”的攻略如下:
概述
CURL是一款用来传输数据的工具,可以通过HTTP、FTP、SMTP等协议发送和接收数据。在PHP中,可以使用CURL来实现文件的下载功能,实现代码简单,效率高。
步骤
使用CURL下载文件的步骤如下:
- 初始化CURL,创建CURL句柄。使用curl_init()函数进行初始化,该函数返回一个CURL对象。
$curl = curl_init();
- 设置CURL句柄。
curl_setopt($curl, CURLOPT_URL, $url); //设置要访问的URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //执行结果是否转成字符串,默认为0,表示直接输出内容
curl_setopt($curl, CURLOPT_HEADER, 0); //是否显示头部信息,默认为0,表示不显示
curl_setopt($curl, CURLOPT_TIMEOUT, 30); //设置超时时间
- 执行CURL操作。
$file_data = curl_exec($curl);
- 关闭CURL句柄。
curl_close($curl);
- 将下载的文件保存到本地。
将获取到的文件数据,写入到本地文件中即可。
$fp = fopen($local_file_path, 'wb');
fwrite($fp, $file_data);
fclose($fp);
示例
以下是两个使用CURL下载文件的示例说明:
示例一
//文件url
$url = 'http://example.com/file/test.txt';
//本地文件路径
$local_file_path = '/data/test.txt';
//初始化CURL句柄
$curl = curl_init();
//设置CURL句柄
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
//执行CURL操作
$file_data = curl_exec($curl);
//关闭CURL句柄
curl_close($curl);
//将下载的文件保存到本地
$fp = fopen($local_file_path, 'wb');
fwrite($fp, $file_data);
fclose($fp);
示例二
//文件url
$url = 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf';
//本地文件路径
$local_file_path = '/data/dummy.pdf';
//初始化CURL句柄
$curl = curl_init();
//设置CURL句柄
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
//执行CURL操作
$file_data = curl_exec($curl);
//关闭CURL句柄
curl_close($curl);
//将下载的文件保存到本地
$fp = fopen($local_file_path, 'wb');
fwrite($fp, $file_data);
fclose($fp);
以上两个示例分别下载了一个txt文件和pdf文件,并保存到本地指定路径。示例中的代码均可直接拷贝使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP使用CURL实现下载文件功能示例 - Python技术站