Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> upload i cURL
bagsiur
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 28.11.2008
Skąd: Będzin

Ostrzeżenie: (10%)
X----


ehh jak to mówią witki opadają (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) usiłuję napisać skrypt do uploadu plików na serwer, na inny serwer niż będzie stać stronka... dzięki google i i php manual wyskrobałem coś takiego: (patrz niżej)... z dokumentacji php wynika że wszystko powinno być git. Przepierzyłem google w z dłuż i w szerz i dalej skrypt nie działa, a próbowałem już wszystkiego.... Skrypt nie działa nawet w uproszczonej wersji uploadujacej plik przez serwer (moja maszyna) na cba.pl... na początek chce uzyskać jakikolwiek efekt, chce zobaczyć że ta metoda działa i chce w ten sposób przesłać cokolwiek... oto uproszczona wersja skryptu...

  1. <?php
  2. $link = 'http://www.grodziec.cba.pl';
  3. $aaa = 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.5) Gecko/2008121622 Ubuntu/8.10 (intrepid) Firefox/3.0.5';
  4.  
  5. $ch = curl_init('http://www.grodziec.cba.pl');
  6. curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
  7. curl_setopt($ch, CURLOPT_USERAGENT, $aaa);
  8. curl_setopt($ch, CURLOPT_URL, $link);
  9. curl_setopt($ch, CURLOPT_POST, 1);
  10. curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
  11. curl_exec($ch);
  12.  
  13.  
  14. $plik = '@' . dirname(__FILE__) . '/bbb.jpg';
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, $plik);
  16. curl_setopt($ch, CURLOPT_POST, 1);
  17. echo curl_exec($ch);
  18. curl_close($ch);
  19. ?>
Go to the top of the page
+Quote Post
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


1) jakoś kiepsko szukałeś :/
http://forums.devshed.com/php-development-...ile-533233.html

tutaj twierdzą, że skrypt działa, śmiem twierdzić, że inaczej być nie może (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

2) zwykle staram się nie czepiać, ale na widok "w z dłuż i w szerz" opadła mi kopara (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) może tak: wzdłuż i wszerz? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
bagsiur
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 28.11.2008
Skąd: Będzin

Ostrzeżenie: (10%)
X----


problem rozwiązany, niema to jak manual do php (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . Jak by komuś było przydatne to zamieszczam. (nie wiem czemu ale pierwszy skrypt nic nie wysyła):
  1. <?php
  2. $postFields['plik1'] = '@' . dirname(__FILE__) . '/coś.jpg';
  3. $ch = curl_init('http://www.stronka.pl');
  4. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  5. curl_exec($ch);
  6. curl_close($ch);
  7. ?>


teraz można spokojnie move_uploadedować_filesa z tablicy (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Dzięki za odpowiedzi. pozdro (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ziqzaq
post
Post #4





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Wprawdzie problem jest już rozwiązany, ale odniosę się do pierwszego posta bo można się na tym przejechać (ja tak miałem).
W tym wypadku:
  1. <?php
  2. curl_setopt($ch, CURLOPT_POST, 1); // jesli to ustawiamy to ma byc _pierwsze_
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $plik); // dopiero pozniej pola post
  4. ?>

kolejności ustawiania opcji curla jest istotna (komentarz w manualu) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Jak widać w twoim pierwszym poście - miałeś na odwrót i w ogóle nie wysyłało wartości post ($_POST i $_FILES były poprostu puste). Dodatkowo przekazywałeś w setopt ciąg znaków (samą ścieżkę do pliku) a ta opcja przyjmuje:
Cytat
This can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value.

Sprawdzane na php-5.2.8.
Pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.12.2025 - 19:06