Я загружал файл с использованием multipart / form-data и получал загруженный файл в другом php-файле, чтобы использовать его в другом месте.
Это были данные multipart / form-data, которые я использовал:
<html> <body> <form enctype="multipart/form-data" action="facebook.php" method="post"> <p><label for="source">Photo</label><input type="file" name="source" /></p> <p><input type="submit" value="Upload" /></p> </form> </body> </html>
Теперь я изменил использование cURL для загрузки файла, потому что я хотел загрузить больше одного файла, поэтому мне не нужно было использовать форму.
Это код, который я использую сейчас:
<?php $ch = curl_init('http://localhost/faceads/facebook.php'); curl_setopt_array($ch, array( CURLOPT_POSTFIELDS => array( 'files[]' => '@C:\xampp\htdocs\faceads\Assento-Novo.png', ), )); if (false === ($res = curl_exec($ch))) { die("Upload failed: " . curl_error($ch)); } ?>
Я пытаюсь загрузить загруженный файл в facebook.php так же, как и раньше, но он не работает, и потому что я почти ничего не знаю о cURL. Я не знаю, как это сделать.
Это файл facebook.php:
if (!empty($_FILES)) { $uploaddir = './uploads/'; // Upload folder $uploadfile = $uploaddir . basename($_FILES['source']['name']); if (move_uploaded_file($_FILES['source']['tmp_name'], $uploadfile)) { USE THE FILE URL . . . } }
Кто-нибудь может помочь мне сказать, как я могу загрузить загруженный файл с помощью cURL?
благодаря
Вам не нужно cURL для загрузки нескольких файлов; вы можете загрузить кучу из них только с помощью обычной формы.
Сторона клиента
<!-- uploader.html --> <form enctype="multipart/form-data" method="post" action="uploader.php"> <input name="blob[]" type="file" /><br /> <input name="blob[]" type="file" /><br /> <input type="submit" value="Upload these files" /> </form>
Серверное
// uploader.php if(isset($_FILES["blob"])){ for($i = 0; $i < count($_FILES["blob"]["name"]); $i++){ $tmp_name = $_FILES["blob"]["tmp_name"][$i]; $blob_name = "file-name.ext"; // generate an unique name if(move_uploaded_file($tmp_name, "destination-folder/" . $blob_name)){ // do something with the uploaded file } } }
$request = curl_init('http://domain.com/uploader.php'); curl_setopt($request, CURLOPT_POST, true); curl_setopt( $request, CURLOPT_POSTFIELDS, array( 'blob[0]' => '@' . realpath('first-file.jpg'), 'blob[1]' => '@' . realpath('second-file.jpg') ) )); curl_setopt($request, CURLOPT_RETURNTRANSFER, true); echo curl_exec($request); curl_close($request); // // for the other part use the uploader.php code from above