我有一个表单我想将所有字段发布到其余的api。我想提交文件和内容。如何在我的API上检索它?我用原始PHP编写了api。在我的api我已检查标题optcode所以我也需要传递http标头属性。 我尝试过这种方式使用CUrl我只能传递数据而不是文件。有没有简单的方法来传递文件和内容。 这是我的表单数据
<div class="layout-content">
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>Local Vegitable Upload</h2>
</div>
</div>
<div class="row">
<div class="col-md-12">
<form action="" enctype="multipart/form-data">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Plant Name:</label>
<input type="text" name="plant_name" class="form-control" id="email"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Scientific Name:</label>
<input type="text" name="scientific_name" class="form-control" id="email"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="plantName">English Name:</label>
<input type="text" name="eng_name" class="form-control" id="eng_name"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Local Name:</label>
<input type="text" name="local_name" class="form-control" id="local_name"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Family:</label>
<input type="text" name="family" class="form-control" id="family"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Botany:</label>
<input type="text" name="botany" class="form-control" id="botany"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Usage:</label>
<input type="text" name="useg" class="form-control" id="useg"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Caution :</label>
<input type="text" name="caution" class="form-control" id="caution"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Place:</label>
<input type="text" name="place" class="form-control" id="place"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Referent :</label>
<input type="text" name="referent" class="form-control" id="referent"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Image 1 :</label>
<input type="file" name="image[]" class="form-control" id="referent"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="plantName">Image 2 :</label>
<input type="file" name="image[]" class="form-control" id="referent"/>
</div>
</div>
</div>
<div class="form-group">
<label for="discription">Description:</label>
<textarea type="description" class="form-control" id="description"></textarea>
</div>
<!-- <div class="checkbox">-->
<!-- <label><input type="checkbox"> Remember me</label>-->
<!-- </div>-->
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</div>
</div>
之前我曾尝试过这种方式
<?php
if (isset($_POST['plant_name']) && isset($_POST['description'])) {
$plant_name = $_POST['plant_name'];
$scientific_name = $_POST['scientific_name'];
$eng_name = $_POST['eng_name'];
$local_name = $_POST['local_name'];
$family = $_POST['family'];
$botany = $_POST['botany'];
$useg = $_POST['useg'];
$caution = $_POST['caution'];
$place = $_POST['place'];
$referent = $_POST['referent'];
$description = $_POST['description'];
$data = "{\"plant_name\":\"$plant_name\",\"scientific_name\":\"$scientific_name\" ,\"eng_name\":\"$eng_name\",\"local_name\":\"$local_name\",\"family\":\"$family\",\"botany\":\"$botany\" ,\"useg\":\"$useg\",\"caution\":\"$caution\",\"place\":\"$place\" ,\"referent\":\"$referent\" ,\"description\":\"$description\"}";
$apiResult = callLocVegApi("locveg" , $data);
function callLocVegApi($optcode,$data){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_PORT => APIPORT,
CURLOPT_URL => APIURL,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data",
"optcode: $optcode"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
return "cURL Error #:" . $err;
} else {
return $response;
}
}
$result =json_decode($apiResult, true);
if($result["result"]==1){
header('Location: dashboard.php');
}else{
// echo '<script>alert("Please Check Username or Password");</script>';
}
}
?>
enter code here