Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> cURL wysylanie pliku POSTEM, wysylanie do tablicy $_FILE (?)
Safek
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 28.12.2010

Ostrzeżenie: (0%)
-----


Witam

przeszukalem forum ale nie znalazlem informacji akurat na ten temat... moze ktos cos wie a moze to niemozliwe smile.gif

Zrobilem sobie takie proste 3 skrypciki:

cos_tam.php
1)
  1. <form enctype="multipart/form-data" method="post" name="wysylka" action='odbior.php'>
  2. <input type="file" name="pliczek">
  3. <input type="submit" value="zapisz" />
  4. </form>


odbior.php
2)
  1. <?php
  2. $pliczek = $_FILES['pliczek'];
  3. var_dump($_POST);
  4. var_dump($_FILES);
  5. var_dump($pliczek);
  6. copy($pliczek['tmp_name'],$pliczek['name']);
  7. ?>


i curl.php:
  1. $cookie = './cookie.txt';
  2. $useragent = 'Mozilla/5.0 (X11; U; Linux x86/64;en-US;rv:1.9.2.16) Gecko/20110323 Ubuntu/10.10 (maverick) Firefox/3.6.16';
  3. $url = 'http://localhost/upload/odbior.php';
  4.  
  5. $header = array();
  6.  
  7. $header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  8. $header[] = 'Accept-Language: pl,en-us;q=0.7,en;q=0.3';
  9. $header[] = 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7';
  10. $header[] = 'Keep-Alive: 115';
  11. $header[] = 'Connection: keep-alive';
  12. $header[] = 'Content-Type: application/x-www-form-urlencoded';
  13.  
  14. $query['pliczek'] = '@' . dirname(__FILE__) . '/plik.txt';
  15.  
  16. $ch = curl_init($url);
  17. curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
  18. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
  19. curl_setopt( $ch, CURLOPT_POST, true);
  20. curl_setopt( $ch, CURLOPT_POSTFIELDS, $query);
  21.  
  22. $strona = curl_exec($ch);
  23. curl_close($ch);
  24.  
  25. echo $strona;


i teraz problem brzmi:

Plik jest przesylany w tablicy $_POST, a chcialbym aby znalazl sie w tablicy $_FILES bez modyfikowania pliku odbior.php smile.gif
da sie w ogole takie cos zrobic? google przetrzasniete, forum przetrzasniete, nic nie widac, nic nie slychac... a nie chce mi sie wierzyc zeby nie dalo sie imitowac formularza cURLem

Pozdrowka
Kefas
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl.php.net/manual/en/function.curl-setopt.php
Example #2 Uploading file
Wg. dokumentacji robisz chyba ok. Napewno podałeś poprawną ścieżkę?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Safek
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 28.12.2010

Ostrzeżenie: (0%)
-----


sciezka jest ok, plik pobiera, tzn w tablicy POST jest. Skopiuj sobie te moje skrypty z forum i odpal, 3 min roboty, var_dump nawet masz do tych tablic i zobaczysz z ktorej Tobie wyswietli plik smile.gif Wlasnie nie wiem dlaczego jest w tablicy $_POST a nie $_FILES :/
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dokładnie takie skrypty masz? Bo widzę, wypełniasz tablicę $header, której nigdzie nie używasz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Safek
post
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 28.12.2010

Ostrzeżenie: (0%)
-----


pousuwalem zbedne opcje curla zeby nie zaciemniac, tam tylko ustawienia headerow sa, przegladarki i takie glupoty, nic szczegolnego tam nie ma smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No jesli wysyłasz taki header:
$header[] = 'Content-Type: application/x-www-form-urlencoded';
to nic dziwnego ze ci nie działa tongue.gif
Następnym więc razem nie usuwaj "nic szczegolnego" tylko pokazuj cały kod smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Safek
post
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 28.12.2010

Ostrzeżenie: (0%)
-----


ok a to moze troche obok tematu smile.gif

jak mam takie cos w httpheaders:


-----------------------------46788979720230221312101997850
Content-Disposition: form-data; name="task"

IMPORT_FILE
-----------------------------46788979720230221312101997850
Content-Disposition: form-data; name="uploadedFile"; filename="xxxxxxx.xxx"
Content-Type: application/octet-stream

"tutaj,jest,jakis,content,pliku,tekstowego"

-----------------------------46788979720230221312101997850
Content-Disposition: form-data; name="fileFields"

uploadedFile
-----------------------------46788979720230221312101997850--

to cos oprocz pliku w tym poscie jest wysylane? jakis taks i fileFields jest ale nie widze zebybyly pod tym wartosci albo sie nie znam smile.gif
Go to the top of the page
+Quote Post
cycofiasz
post
Post #8





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Jak widać są wysyłane jeszcze 2 pola: task = IMPORT_FILE i fileFields = uploadedFile
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:34