Goedenmiddag,
Ik had een vraag omtrent het uploaden van een foto m.b.v. cURL.
Als ik dit wil doen moet ik toch gewoon het veld naam invoeren met als content: @pathnaarfile?
Moet er verder nog iets gedaan worden? Want dit werkt niet 100%. Hij geeft nu op de externe controle pagina aan dat er geen $_FILES worden meegestuurd. Het enigste wat gebeurd is dat het path van de afbeelding word meegezonden via $_POST.
Ik hoop dat iemand snapt wat ik bedoel, en weet wat ik vergeet want dan kan ik vanavond weer verder. Ik zal vanavond ook wat relevante code erbij zetten want ik ben nu nog op mijn werk en kan dus niet bij de code.
Alvast bedankt, mvg Joost
<?php
$url = 'http://*.nl/cURL/virt_form.php';
$fields = array(
'subscription[firstname]' => urlencode($_POST["subscription"]["firstname"]),
'subscription[lastname]' => urlencode($_POST["subscription"]["lastname"]),
'subscription[datafile]' => urlencode("@".$newfile),
'subscription[agree]' => urlencode($_POST["subscription"]["agree"])
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
?>
en dan op virt_form.php:
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
print_r($_FILES["subscription"]["name"]);
}
?>
maar daar krijg ik geen output van, andere velden werken wel gewoon, en als ik print_r($_POST) doe, dan staat er: [datafile] => @image-upload/20120904-1346776324.JPG
Maar dit wil ik niet, ik wil de file op kunnen halen via $_FILES en niet via $_POST.
1.428 views