php通过 curl方法请求下载 http链接文件
php通过 curl方法请求下载 http链接文件
<?php
$url = 'https://example.com/1.webp?test=1';
//去除?后面的参数
$url=strtok($url,'?');
// 初始化文件存放的路径
$dir = dirname(__FILE__).DIRECTORY_SEPARATOR;
if(!is_dir($dir)){
mkdir($dir);
}
// 初始化 cURL 会话
$ch = curl_init($url);
// 使用 basename() 方法返回值来获取文件的文件名称
$file_name = basename($url);
// 存放文件到本地的完整路径
$save_file_loc = $dir . $file_name;
echo $save_file_loc;
// 打开文件
$fp = fopen($save_file_loc, 'wb');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
// 处理一个 cURL 会话
$result = curl_exec($ch);
// 关闭一个 cURL会话并释放所有资源
curl_close($ch);
//将curl请求返回结果写入到 fp 打开的文件句柄中
fwrite($fp, $result);
// 关闭 fp 句柄并释放所有资源
fclose($fp);