Я пишу API, и я ' m, желающий обрабатывать загрузку файлов из формы POST
. В разметке формы нет ничего сложного:
<form action="" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="image" id="image" />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
Однако мне трудно понять, как обрабатывать эту серверную часть и отправлять вместе с запросом cURL.
Я знаком с отправкой POST
запросы с cURL с массивом данных и ресурсы, которые я читал при загрузке файлов, говорят мне, что я должен добавить к имени файла префикс @
. Но у этих же ресурсов есть жестко запрограммированное имя файла, например
$post = array(
'image' => '@/path/to/myfile.jpg',
...
);
Ну, какой это путь к файлу? Где мне это найти? Будет ли это что-то вроде $ _ FILES ['image'] ['tmp_name']
, и в этом случае мой массив $ post
должен выглядеть так:
$post = array(
'image' => '@' . $_FILES['image']['tmp_name'],
...
);
Или я собираюсь это не так? Будем очень признательны за любые советы.
РЕДАКТИРОВАТЬ: Если бы кто-нибудь мог дать мне фрагмент кода, в котором я бы пошел со следующими фрагментами кода, я был бы очень благодарен. Я в основном ищу то, что я бы отправил в качестве параметров cURL, и пример того, как использовать эти параметры с принимающим скриптом (назовем его curl_receiver.php
для аргументации).
У меня есть это веб-форма:
<form action="script.php" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="image />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
И это будет script.php
:
if (isset($_POST['upload'])) {
// cURL call would go here
// my tmp. file would be $_FILES['image']['tmp_name'], and
// the filename would be $_FILES['image']['name']
}