curl — загрузить папку zip на удаленный сервер, используя PHP?

я пытаюсь загрузить zip-папку на удаленный сервер с помощью PHP CURL, но я понятия не имею, почему zip-папка / файл, загруженный на удаленный сервер, пуста!

в основном файл загружается (некоторые как), но когда я смотрю на загруженную папку, он показывает как 0 bytes но папка zip имеет 700 bytes файлов в нем!

вот мой код:

<form enctype="multipart/form-data" encoding="multipart/form-data" method="post" action="myfile.php">
<input name="uploadedfile" type="file" value="choose">
<input type="submit" value="Upload">
</form><?php
if (isset($_FILES['uploadedfile']) ) {
$filePath  = $_FILES['uploadedfile']['tmp_name'];

$POST_DATA = array(
'file' => '@'.  realpath($filePath)
);

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://remotesite/handle.php');
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $POST_DATA);
$response = curl_exec($curl);
curl_close ($curl);

if($errno = curl_errno($curl)) {
$error_message = curl_strerror($errno);
echo "cURL error ({$errno}):\n {$error_message}";
} else {
echo "<h2>File Uploaded</h2>";
}
}
?>

и это мой код handle.php:

<?php
$encoded_file = $_POST['file'];
$decoded_file = base64_decode($encoded_file);
/* Now you can copy the uploaded file to your server. */
file_put_contents('subins.zip', $decoded_file);
?>

Может кто-нибудь, пожалуйста, дайте мне знать, что я пропускаю или делаю неправильно?

Заранее спасибо,

0

Решение

Когда вы загружаете файл с сообщением в php, он создает временные скопированные файлы, которые исчезают, когда скрипт заканчивается. Вам необходимо сохранить загруженный файл в другом месте:

Handle.php:

if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
// Move the file to the desired directory
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector