Загрузка нескольких файлов в PHP с использованием HTML-формы или cURL

Я загружал файл с использованием 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 для загрузки нескольких файлов; вы можете загрузить кучу из них только с помощью обычной формы.

Загрузка нескольких файлов с помощью HTML-формы

Сторона клиента

 <!-- 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 } } } 

Загрузка нескольких файлов с помощью cURL

 $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