To upload files using CURL please check your curl on remote server must be enabled.
All uploading functionality will be done at local server and using base64_encode we will copy our local uploaded file to remove server.
Create two files :
1. Script for local.php
2. Script for server.php
All uploading functionality will be done at local server and using base64_encode we will copy our local uploaded file to remove server.
Create two files :
- local.php - for local server to upload file in local server.
- server.php - for live remote server to copy local uploaded file.
1. Script for 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. 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.";
} ?>
Comments
Post a Comment