📅  最后修改于: 2023-12-03 15:35:32.455000             🧑  作者: Mango
在 PHP 中,cURL 是一个强大的库,它可以让你以各种方式与 URL 进行通信,其中就包括上传文件。本文将为你介绍如何使用 PHP cURL 上传文件。
在使用 cURL 上传文件之前,你需要按照以下步骤设置代码:
在 HTML 中创建一个表单,其中包含一个文件输入字段。例如:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
在这个表单中,我们使用 enctype="multipart/form-data"
属性指示将上传文件作为二进制数据进行处理,并将其包含在 POST 请求中。
创建一个名为 upload.php
的 PHP 脚本,该脚本将接收上传的文件并将其保存在服务器上。在 upload.php
中,我们将使用如下命令获取上传的文件:
$file = $_FILES['file']['tmp_name'];
该命令将从 PHP 全局变量 $_FILES
中获取名为 file
的文件,并将其保存在 $file
变量中。
现在,我们已准备好上传文件了。使用以下命令在 upload.php
中上传文件:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://example.com/upload.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile($file)
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
该代码使用 cURL 创建一个 POST 请求,并附加上传文件。然后,它会将响应保存在 $response
变量中,并关闭 cURL 会话。
<!-- index.html -->
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
// upload.php
$file = $_FILES['file']['tmp_name'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://example.com/upload.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile($file)
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// do something with $response
以上就是使用 PHP cURL 上传文件的完整示例。