Để tải lên & nbsp; các tệp bằng Curl, vui lòng kiểm tra Curl của bạn trên máy chủ từ xa phải được bật.
Tất cả các chức năng tải lên sẽ được thực hiện tại máy chủ cục bộ và sử dụng base64_encode, chúng tôi sẽ sao chép tệp được tải lên cục bộ của chúng tôi để xóa máy chủ.
Tạo hai tệp:
- Local.php & nbsp; - & nbsp; để máy chủ cục bộ tải lên tệp trong máy chủ cục bộ.
- Server.php - Đối với máy chủ từ xa trực tiếp để sao chép tệp được tải lên cục bộ.
1. tập lệnh cho Local.php
<form enctype="multipart/form-data" method='post'>
<input name="file" type="file" value="choose">
<input type="submit" value="Upload">
</form>
<?php
if(isset($_POST["submit"])){
// Move file to a temp location
$uploadDir = 'your local upload directory path here';
$uploadFile = $uploadDir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)){
// set array to send data to remote server
$remoteData = array(
'fileName' => $uploadFile,
'fileData' => base64_encode($uploadFile)
);
// start curl set up for remote file upload
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://your-server/server.php');
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $remoteData);
$response = curl_exec($curl);
curl_close($curl);
echo $response; // set response to server.php file
} else {
echo "Your file not uploaded to server.";
}
}
?>
2. & nbsp; script for server.php
<?php
// check if post data is available or not
if (isset($_POST['fileName']) && $_POST['fileData']){
// save uploaded file
$uploadDir = 'your path to save file';
file_put_contents(
$uploadDir. $_POST['fileName'],
base64_decode($_POST['fileData'])
);
// done
echo "Success";
} else {
echo "Error : File not uploaded to remote server.";
} ?>