PHP cULR foto uploaden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joost Van der Meijden

Joost Van der Meijden

04/09/2012 16:17:56
Quote Anchor link
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


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?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.
Gewijzigd op 04/09/2012 18:10:14 door Joost Van der Meijden
 
PHP hulp

PHP hulp

25/12/2024 20:23:18
 
Joost Van der Meijden

Joost Van der Meijden

05/09/2012 16:26:38
Quote Anchor link
Bump
 
Eddy E

Eddy E

05/09/2012 16:50:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_FILES
= $_POST;
?>
 
Joost Van der Meijden

Joost Van der Meijden

05/09/2012 17:12:20
Quote Anchor link
Dat is voor mij geen oplossing want ik kan niet bij de file waar de data heen verzonden word omdat deze op een andere website staat. Zijn er geen andere oplossingen?
 
Eddy E

Eddy E

05/09/2012 19:20:35
Quote Anchor link
Je verstuurt nu zeker ook alleen maar de bestandsnaam? En niet de afbeelding zelf?

Als ik Google op curl send files krijg ik al snel dit te zien: http://forums.devshed.com/php-development-5/php-curl-send-a-file-533233.html

Daarbij staat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
  curl_setopt($ch, CURLOPT_PUT, true);
  curl_setopt($ch, CURLOPT_INFILE, $putData);
  curl_setopt($ch, CURLOPT_INFILESIZE, strlen($xml_request));
  curl_setopt($ch, CURLOPT_FILE, $result_file);
?>


En dan denk ik... waar heb jij iets met FILE? Nergens.... dat zal wel eens kunnen schelen.



Kortom: even proberen (en daarna weer Googlen en/of hier vragen)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.