Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] pytanie o sprawdzanie linku
Forum PHP.pl > Forum > PHP
TheSpirit
Mam pytanie, jak zrobic, zeby skrypt wyciagal z wrzuty bezposredni adres?
przykladowo mamy taki adres:
http://chiarcia.wrzuta.pl/sr/f/6z3m4U5VInX/atb_-_humanity ale przenosi on do takiego adresu:
http://c.wrzuta.pl/wa860/...coś tam coś tam


Jak uzyskać dostęp do tego adresu, prosiłbym o szablon funkcji?

Jestem laikiem w zabawie z php i być może zadaję banalne pytanie, dlatego prosze Was Panowie o pomoc. smile.gif
okitoki
połącz się z serwerem chiarcia.wrzuta.pl na porcie 80


"GET /sr/f/6z3m4U5VInX/atb_-_humanity HTTP/1.1\r\n"
"Host: chiarcia.wrzuta.pl\r\n"
"User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.10) Gecko/2009042523 Firefox/3.0.10 \r\n\r\n"

on ci na to odpowie

HTTP/1.x 301 Moved Permanently
Date: Sun, 03 May 2009 10:28:03 GMT
Server: Apache/2.0.59 (Unix) PHP/5.2.5
Location: http://c.wrzuta.pl/wa860/046309660028562f4...%20humanity.mp3
Content-Length: 282
Connection: close
Content-Type: text/html; charset=iso-8859-1

następnie sparsuj linie, a dokładnie wytnij Location:

lub polecam też curl
TheSpirit
a mógłbyś napisać funkcje która miałaby to robić? ponieważ tak jak mówiłem, jestem laikiem... i nie za bardzo wiem jak to ugryźć.
z góry bardzo dziękuję.
okitoki
Kod
function czytaj_adres($url)
      {
          $parsuj_url = parse_url($url);
          
          $f = fsockopen($parsuj_url['host'],80,$errno,$errstr, 10);
          if($f)
          {
              $hget = "GET {$parsuj_url['path']} HTTP/1.1\r\n";
             $hget.= "Host: {$parsuj_url['host']}\r\n";
             $hget.= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.10) Gecko/2009042523 Firefox/3.0.10 \r\n\r\n";
              
             fwrite($f, $hget);
            
             $odpowiedz = "";
             while($hres = fgets($f))
                 $odpowiedz .= $hres;
            
             if(eregi('(Location: )(http://)([A-Za-z0-9_%?=&/.-]{1,})',$odpowiedz,$tmp))
               $res = "http://{$tmp[3]}";
                
              fclose($f);
          }
          
          
          return $res;
      }

      
  echo czytaj_adres('http://chiarcia.wrzuta.pl/sr/f/6z3m4U5VInX/atb_-_humanity');


proszę
TheSpirit
dzieki wielkie stary. smile.gif jestes wielki. winksmiley.jpg
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.