Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzanie czy istnieje plik :(, fsockopen()
pieto
post
Post #1





Grupa: Zarejestrowani
Postów: 227
Pomógł: 1
Dołączył: 12.05.2002
Skąd: gdańsk

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


Sobie problem taki mam: (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
  1. <?php
  2.  
  3. $host = 'upload.wikimedia.org';
  4. $file = 'wikipedia/pl/f/f2/Gogfdfh1.jpg';
  5. $fp = @fsockopen( $host, 80, $errno, $errmsg, 3 );
  6.  
  7. if( !$fp ){
  8.  
  9.  $exist = false;
  10.  
  11. }else{
  12.  
  13.  fputs( $fp, &#092;"GET /$file HTTP/1.1rn\" );
  14.  fputs( $fp, &#092;"Host: $hostrn\" );
  15.  fputs( $fp, &#092;"Content-type: application/x-www-form-urlencodedrn\" );
  16.  fputs( $fp, &#092;"Connection: closernrn\" );
  17.  
  18.  $exist = true;
  19.  @fclose( $fp );
  20. }
  21. echo &#092;"Plik $host/$file \".( $exist == true ? 'istnieje' : 'nie istnieje' );
  22. echo '<br>';
  23.  
  24.  
  25. ?>

zawsze zwraca true (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) czy to dlatego ze jest wyswietlana strona html 404 ?
mozna to jakos obejsć - pobierane muszą być tylko obrazki

Następny problem taki ze jest ze 100 kombinacji urli, czyli zalezy mi zeby uzyskac jak najlepszy czas odpowiedz ...

z gory dzieki

Ten post edytował pieto 21.04.2005, 14:43:12
Go to the top of the page
+Quote Post
netzah
post
Post #2





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

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


Odpowiedz od serwera (o ile taki istnieje) dostaniesz zawsze - nawet nie musi byc to strona 404, ale zawsze odbierzesz naglowki http. Jezeli chcesz sciagac pliki mozesz to zrobic za pomoca file_get_contents($url) i tyle. Co do czasu odpowiedzi - masz zamiar sciagac te 100 url co sekunde, ze jest to takie istotne?
Go to the top of the page
+Quote Post
Zajec
post
Post #3





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


http://pl.php.net/manual/pl/function.fsockopen.php

Otwórz połączenie z serwerem i wyślij zapytanie o dany plik (tak jak to robisz). Potem pobiera kolejne linie odpowiedzi serwera tak długo, aż dostaniesz tą z MIME type.

Jeśli będzie image/jpeg => Pod tym adresem znajduje się obrazek
Jeśli będzie text/html => Pod tym adresem jest tylko strona informująca o braku pliku

Ten post edytował Zajec 22.04.2005, 16:50:38
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: 24.08.2025 - 19:06