이 질문은 cURL을 통한 양식 POST 요청의 파일 업로드 처리에 대해 다룹니다. 양식의 마크업은 간단합니다.
<form action="" method="post" enctype="multipart/form-data"> <input type="file" name="image">
서버 측에서 파일 업로드를 처리하려면 PHP의 $_FILES 전역 변수를 사용해야 합니다. 이 변수에는 임시 파일 이름과 원본 파일 이름을 포함하여 업로드된 파일에 대한 정보 배열이 포함됩니다.
다음 코드 조각은 $_FILES를 사용하여 업로드된 이미지에 대한 정보를 얻는 방법을 보여줍니다.
if (isset($_POST['upload'])) { $tmpFileName = $_FILES['image']['tmp_name']; $originalFileName = $_FILES['image']['name']; }
cURL로 파일을 보내려면 CURLOPT_INFILE 옵션을 지정하고 임시 파일 이름으로 설정해야 합니다. 또한 CURLOPT_UPLOAD 옵션을 1로 설정해야 합니다. 예:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://example.com/upload.php"); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_INFILE, $tmpFileName); curl_setopt($curl, CURLOPT_UPLOAD, 1); $curlResult = curl_exec($curl); curl_close($curl);
수신 서버에서 다음 코드를 사용하여 업로드된 파일을 수신할 수 있습니다.
<?php // Get the file from the request $file = file_get_contents('php://input'); // Save the file to a temporary location $tmpFileName = tempnam(sys_get_temp_dir(), 'phpexec'); file_put_contents($tmpFileName, $file); // You can now process the file as needed // Delete the temporary file unlink($tmpFileName); ?>
위 내용은 PHP의 HTML 양식 POST에서 cURL을 사용하여 파일을 업로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!