Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie moge uzyc fopen
Forum PHP.pl > Forum > PHP
radac78
Na serwerz w php.ini wyłączona jest opcja allow_url_fopen, więc nie ma możliwości otwierania URLi przez funkcję fopen(). Jak zorbic otwarcie pliku, przy pomocy cURLa questionmark.gif
hwao
  1. <?php
  2. $fp = fsockopen(&#092;"www.example.com\", 80, $errno, $errstr, 30);
  3. if (!$fp) {
  4.  echo &#092;"$errstr ($errno)<br />n\";
  5. } else {
  6.  $out = &#092;"GET / HTTP/1.1rn\";
  7.  $out .= &#092;"Host: www.example.comrn\";
  8.  $out .= &#092;"Connection: Closernrn\";
  9.  
  10.  fwrite($fp, $out);
  11.  while (!feof($fp)) {
  12.  echo fgets($fp, 128);
  13.  }
  14.  fclose($fp);
  15. }
  16. ?>

Mozna tak, pozatym jak chcesz wiecej to masz na forum smile.gif (tylko szukaj + fsockopen smile.gif )

Co do cURL to
  1. <?php
  2. // create a new curl resource
  3. $ch = curl_init();
  4.  
  5. // set URL and other appropriate options
  6. curl_setopt($ch, CURLOPT_URL, &#092;"http://www.example.com/\");
  7. curl_setopt($ch, CURLOPT_HEADER, 0);
  8.  
  9. // grab URL and pass it to the browser
  10. curl_exec($ch);
  11.  
  12. // close curl resource, and free up system resources
  13. curl_close($ch);
  14. ?>

Na forum o tym takze bylo smile.gif
radac78
Witam,

nie mogę jednak sobie poradzić z problemem zamiany skryptów (moja znajomość php pozostawia niestety wiele do życzenia)... Będę bardzo wdzięczny za wskazówki na przykładzie skryptu pobierającego dane kursów walut NBP:

Oryginał mojego skryptu:

  1. <?php
  2. $f = @fopen(&#092;"http://www.nbp.pl/Kursy/KursyA.html\", \"r\");
  3. if ($f) {
  4. while(!feof($f)) $strona .= fread($f,1024); fclose($f);
  5. $strona = preg_replace(&#092;"/r/\", \" \", $strona);
  6. $strona = preg_replace(&#092;"/n/\", \" \", $strona);
  7. preg_match(&#092;"/z dnia <b>(.*?)</b>/\", $strona, $zdnia);
  8.  
  9. echo $zdnia[1];
  10. echo &#092;"<br />\";
  11.  
  12. preg_match_all(&#092;"/<tr valign=\"middle\">.*?</tr>/\", $strona, $sa);
  13. for ($i=1; $i<count($sa[0]); $i++) {
  14. $kursy[] = explode(&#092;"`\",preg_replace(
  15. &#092;"/.*?<td.*?>(.*?)</td>.*?<td.*?>(.*?)</td>.*?<td.*?>(.*?)</td>.*/\",
  16. \"$1`$2`$3\",$sa[0][$i]));
  17. }
  18. }
  19.  
  20. for ($i=0; $i<count($kursy); $i++) {
  21.  
  22. if (eregi(\"USD\",$kursy[$i][1])) echo \"<br /><b>USD</b>: \".$kursy[$i][2].\" PLN\";
  23. if (eregi(\"EUR\",$kursy[$i][1])) echo \"<br /><b>EUR</b>: \".$kursy[$i][2].\" PLN\";
  24. if (eregi(\"GBP\",$kursy[$i][1])) echo \"<br /><b>GBP</b>: \".$kursy[$i][2].\" PLN\"; 
  25. }
  26. ?>


Nie wiem jednak jak to zmienic na fsockopen i curl.
Prosze o wytlumaczenie tego na tym przykladzie - abym mogl poradzic sobie z pozostalymi skryptami otwierajacymi pliki w ten sam sposob.
Wielkie dzieki
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.