Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 25.07.2013 12:17

Ahojte,
mam v premennej ulozene binarne data obrazku a potrebujem pomocou php vytvorit http request na server pomocou jeho jeho api, pricom budem posielat ten obrazok. Content-type musi byt multipart/form-data . Cize potrebujem v podstate v phpcku vytvorit request asi taky, aky vytvori prehliadac ked potvrdim form s atributom enctype="multipart/form-data".
Viete niekto, ako na to ? Dik







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 25.07.2013 15:18

Toto som zatial vyskusal podla toho, co som vycital z dokumentacie. Myslel som si, ze mi bude treba binarne data ale teraz poskytujem ten obrazok ako resource:
Kód:
$url = 'tu_mam_web_api_url';
$input = fopen('delfin.jpg','r');       
$header = array('Content-Type: multipart/form-data');
$resource = curl_init();
curl_setopt($resource, CURLOPT_URL, $url);
curl_setopt($resource, CURLOPT_USERPWD, "meno:heslo");
curl_setopt($resource, CURLOPT_HTTPAUTH, CURLAUTH_ANYSAFE);
curl_setopt($resource, CURLOPT_HTTPHEADER, $header);
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($resource, CURLOPT_BINARYTRANSFER, true );
curl_setopt($resource, CURLOPT_INFILESIZE, 61631);
curl_setopt($resource, CURLOPT_INFILE, $input);
$result = curl_exec($resource);
curl_close($resource);
var_dump($result);

Ja este neviem ako presne ma vobec vyzerat odpoved zo servera, no zatial mi to hadze len http status 405, chyba: The specified HTTP method is not allowed for the requested resource ().
zrejme musim ten obrazok posielat nejak inak. Ako som napisal, potrebujem asi taky request, ako ked prehliadac odosiela ten obrazok z formu s atributom enctype="multipart/form-data". Ja tym requestom prilis dobre nerozumiem.







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 26.07.2013 10:38

Mam to vyriesene. Ak chcete poslat post request s typom multipart/form-data s obrazkom v poli files:
Kód:
    $url = "cesta_k_serveru";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERPWD, "meno:heslo");
    curl_setopt($ch, CURLOPT_POST, true);
    $post = array(
        "uploadedFile"=>"@/cesta/k/suboru/delfin.jpg;type=image/jpeg",
    );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    $result = curl_exec($ch);
    curl_close ($ch);


Ak post request s typom multipart/form-data s obrazkom v poli post ako binarne data (nie som si isty, ci je toto spravne):
Kód:
$localFile = 'delfin.jpg';
$ch = curl_init();
$fp = fopen($localFile, 'r');
$url = "cesta_k_serveru";
curl_setopt($ch, CURLOPT_USERPWD, "meno:heslo");
curl_setopt($ch, CURLOPT_URL, $url);
$data = 'POST tu_cesta_na_serveri HTTP/1.0
Host: nieco.com
Content-type: multipart/form-data, boundary=AaB03x
Content-Length: '.filesize($localFile).'

--AaB03x
content-disposition: form-data; name="delfin.jpg"; filename="delfin.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

'.file_get_contents('delfin.jpg').'
--AaB03x--';
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);


Ak put request:
Kód:
$url = "cesta_k_serveru";
$localFile = 'delfin.jpg';
$fp = fopen($localFile, 'r');
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, "meno:heslo");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 86400);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 128);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localFile));
$result = curl_exec($ch);
curl_close ($ch);







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PHP - HTTP autentifikacia, zaslanie dat na server

v PHP, ASP

8

779

30.07.2009 2:35

euthanan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chcem dať môj JS projekt na github, ako tam dať obrázky?

v Ostatné

10

1038

27.03.2014 21:56

Kamahl Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal - sucet 2 kladnych binarnych cisel

v Assembler, C, C++, Pascal, Java

0

716

15.04.2010 21:51

arzenop Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zaslanie veľkého súboru

v Ostatné programy

6

879

15.10.2008 23:41

liveman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Request a ASP.net

v Technológia .NET

4

1665

29.06.2008 9:41

Ded'leg Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vlozenie riadku +request id

v Databázy

14

971

07.10.2009 13:35

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ubuntu - X Error of failed request

v Operačné systémy Unix a Linux

1

586

16.12.2008 23:30

Igor Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Request time out (čas vypršal) Problem

v Sieťové a internetové programy

0

404

11.01.2012 14:58

Dafid Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako dat heslo

v Ostatné programy

8

1555

20.12.2009 11:26

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako dat dole

v HTML, XHTML, XML, CSS

22

1138

09.07.2007 18:43

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako dať styl

v PHP, ASP

6

590

09.07.2007 19:49

kmsa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako dat novy bios

v Intel čipové sady

4

3702

01.03.2007 16:54

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako mam dať zdroj?

v PC skrinky a zdroje

9

797

03.07.2014 15:01

KocuR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Facebook graph-api request, ktory nevracia JSON objekt

v Android, iOS, Windows Phone (Mobile)

6

689

20.09.2014 14:34

incredible Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako dat mapy do GPS

v Mobilné zariadenia

0

850

02.12.2007 12:53

fuco Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako dat pismo od obrazkov

v HTML, XHTML, XML, CSS

3

501

18.02.2010 0:58

Atrix24 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra