📅  最后修改于: 2023-12-03 14:45:21.535000             🧑  作者: Mango
在 PHP 中,我们可以使用 file_get_contents()
函数将远程或本地文件的内容读取到字符串中。我们还可以使用 file_put_contents()
函数将字符串写入本地文件。
我们可以使用 file_get_contents()
函数并指定 URL 来下载远程文件。
$fileUrl = 'http://example.com/file.zip';
$fileContent = file_get_contents($fileUrl);
file_put_contents('/path/to/local/file.zip', $fileContent);
在上面的代码中,我们将 $fileUrl
设置为文件的远程 URL 并调用 file_get_contents()
函数将文件内容读取为字符串。接着我们将字符串使用 file_put_contents()
函数写入到本地文件路径 /path/to/local/file.zip
中。
如果需要下载大文件,我们可以使用 stream_context_create()
函数创建一个流上下文,并将上下文添加到 file_get_contents()
函数中。
$fileUrl = 'http://example.com/largefile.zip';
$localFile = '/path/to/local/largefile.zip';
$options = [
'http' => [
'method' => 'GET',
'header' => 'Accept-Encoding: gzip, deflate\r\n',
'timeout' => 60,
]
];
$context = stream_context_create($options);
$fileContent = file_get_contents($fileUrl, false, $context);
在上面的代码中,我们首先创建了一个 $options
数组,配置了 HTTP 请求的一些选项,例如请求方法、请求头和超时时间。接着我们使用 stream_context_create()
函数创建一个流上下文,将 $options
数组作为参数传递给它。最后我们将流上下文作为第三个参数传递给 file_get_contents()
函数。
我们也可以使用 file_get_contents()
函数下载本地文件,只需要将文件路径传递给它即可。
$localFile = '/path/to/local/file.zip';
$fileContent = file_get_contents($localFile);
可以在 PHP 中使用 file_get_contents()
和 file_put_contents()
函数来下载远程或本地文件。如果需要下载大文件,可以使用流上下文来实现。