Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Protokół http
Forum PHP.pl > Forum > Przedszkole
Krisu
  1. <?php
  2.  
  3. function imageshackUpload($filename){
  4. $sock = @fsockopen("www.bankfotek.pl", 80, $errno, $errstr, 30);
  5.  
  6. $handle = fopen($filename, "r");
  7. $binarydata = fread($handle, filesize($filename));
  8. fclose($handle);
  9.  
  10. $mimetype = 'image/png';
  11.  
  12. $AaB03x = "--AaB03xr\n";
  13. $AaB03x .="content-disposition: form-data; name=\"uploadtype\"r\nr\n";
  14.  
  15. $AaB03x .= "onr\n";
  16. $AaB03x .= "--AaB03xr\n";
  17.  
  18. // nazwa pliku file
  19. $AaB03x .= "content-disposition: form-data; name=\"imagefile\"; filename=\"".basename($filename)."\"r\n";
  20. // koniec pliku file
  21.  
  22. $AaB03x .= "Content-Type: $mimetyper\n";
  23. $AaB03x .= "Content-Transfer-Encoding: binaryr\nr\n";
  24.  
  25. $AaB03x .= "$binarydatar\n";
  26. $AaB03x .= "--AaB03x--r\n";
  27.  
  28. $header = "POST / HTTP/1.1r\n";
  29. $header .= "Host: www.bankfotek.pl/process.phpr\n";
  30. $header .= "Content-type: multipart/form-data, boundary=AaB03xr\n";
  31. $header .= "Content-Length: ".strlen($AaB03x)."r\nr\n";
  32.  
  33. $header .= $AaB03x;
  34.  
  35. fwrite($sock, $header);
  36.  
  37. while (!feof($sock)) { $response .= fgets($sock, 128); }
  38.  
  39. fclose($sock);
  40.  
  41. preg_match("/BankFotek.pl ([^>]*) zdjęcia/si", $response, $matches);
  42.  
  43. return $matches[0];
  44. }
  45.  
  46. ?>


Skrypt przesyła obrazek na serwer bankfotek.pl i do tego momentu wszystko działa. Jednak nie mogę sobie poradzić z odczytem linka ze źródła strony. Cały problem polega na tym, że po przesłaniu obrazka, wszystkie informacje na jego temat (wraz z linkami) pojawiają się na stronie www.bankfotek.pl/process.php

Teraz pytanie jak mogę odczytać linka z tej strony?
devnul
moje pytanie czemu nie korzystasz z cURL tylko próbujesz wymyślać koło na nowo?

A co do Twojego pytania to sprawdź czy kod HTML który dostajesz jako zwrot jest tym którego oczekujesz (echo) bo być może jednak jest jakieś przekierowanie lub coś podobnego czego nie obsłużyłeś w swojej implementacji "klienta http" i przez ten fakt nie możesz dobrać się do interesujących Cię danych
Krisu
No ale czy przy cURL nie byłoby tego samego efektu? I jedna metoda i druga służy do wysyłania na serwer, a mój problem leży z wyciągnięciu danych z odpowiedniego pliku.

A kod który wyciągam jest tylko przykładowy, i wiem na 100% ze wyciągam go z głównej strony, a mi zależy na tej drugiej stronie, dostępnej już po przekierowaniu.
devnul
to właśnie jest różnica między Twoim skryptem a cURL - dba o takie szczegóły jak przekierowania automatycznie a Ty musisz zapewnić to sobie sam pobierając odpowiednie nagłówki i obsługując je - inaczej - zapomnij
Krisu
Jeśli rzeczywiście jest tak jak mówisz, to nie ma o czym dyskutować. Nie pozostaje mi nic innego jak tylko napisać skrypt przez cURL i sprawdzić jak się sprawuje.

Pozdrawiam, w razie problemów będę pisać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.