Autor Zpráva
josh
Profil *
Zdravim,
poradil by niekto ako sa da pomocu php zisit existencia danej webstranky, pripadne existecia konkretneho suboru na danej webstranke. Najlepsie bez pouzitia fsockopen (nepodporuju ho niektore freehostingy)
Dakujem
josh
Profil *
Pravidlo, ze ked nieco nenajdem 2 hodiny predtym ako to sem napisem, najdem to 5 minut po tom. Ale hadam to niekomu pomoze, lenze tento skript trochu 'zial' funguje na freehostingu ale za to nie na mojom platenom, inak je celkom jednoduchy:

     $url = 'http://www.example.com';

      $handle = @fopen($url,'r');
      if($handle !== false){
      echo 'Exists';
      }
      else{
      echo "Doesn't";
      }

uvitam dalsie napady

Moderátor Joker: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
breeta
Profil *
pro získání html z www stránky bych použil funkci file_get_contents ...
Joker
Profil
breeta:
pro získání html z www stránky bych použil funkci file_get_contents
Což neřeší joshův problém, jak zjistit existenci stránky.
edit: resp. když nefunguje fopen (ačkoliv, co znamená "nefunguje"?), nejspíš nebude ani file_get_contents.

josh:
Možná by šlo použít get_headers
DoubleThink
Profil *
breeta:
pro získání html z www stránky bych použil funkci file_get_contents ...
Budeš načítat celou stránku, jen abys zjistil, jestli existuje?

josh:
$handle = @fopen($url,'r');
fopen ověří jen existenci serveru, ne stránky.

Existence stránky se ověřuje kontrolou návratového stavového kódu, například funkcí get_headers. Pokud není povoleno allow_url_fopen, používá se ručně sestavený HEAD požadavek pomocí fsockopen. Pokud ani tuto funkci nejde použít, je poslední možnost většinou cURL opět s volbou CURLOPT_NOBODY pro vyslání HEAD požadavku.
Pokud ani to nejde, je třeba poslat webhostéra do prdele, protože neprodává hosting, ale čínskou polívku s nudlema.
josh
Profil *
Nasiel som odvtedy este zopár skriptov samozrejme ani jeden 100%,
tiež som skúšal odčítať meta tagy a title - všetko sa javí byť pomerne v pohode, pokial ale stránka existuje, žial
ani to nieje vždy pravidlo, pokial zadam adresu nejakeho freehostingu napr nieconieco.over.cz - vylsledok je ze stránka neexistuje a neodčita descrpition ani nič iné. Tiež som to spozoroval napr. na stránke pink.sk (nejaky obchod alebo niečo) ale skripta ukazujú že stranka nexistuje, nema title ani description
(niečo som čítal o nejakom protokole alebo o niečom podobnom - som tomu velmi nerozumel pravdupovediac)
...failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in get_meta_tags...

inak matenejaky napad ako dostat odčitanú description do čitatelného tvaru (nejaké prekódovanie znakovň) napr. zoznam.sk sa zobrazi:
Preh�adn� Zoznam odkazov slovensk�ho internetu - skr�tka v�etko �o potrebujete n�js�.

pomocou encode utf8 sa mi to podarí dostať do tvaru:
Preh¾adný Zoznam odkazov slovenského internetu - skrátka všetko èo potrebujete nájs.

ciže o niečo lepšie, ale stále nie výhra :
Joker
Profil
josh:
Ta vrácená chyba:
403 Forbidden
znamená, že webový server odepřel přístup ke stránce. Neboli se snažíte dostat ke stránce, kterou Vám server odmítá poskytnout.
josh
Profil *
function url_exists($url) {
    // Version 4.x supported
    $handle   = curl_init($url);
    if (false === $handle)
    {
        return false;
    }
    curl_setopt($handle, CURLOPT_HEADER, false);
    curl_setopt($handle, CURLOPT_FAILONERROR, true);  // this works
    curl_setopt($handle, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); // request as if Firefox   
    curl_setopt($handle, CURLOPT_NOBODY, true);
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, false);
    $connectable = curl_exec($handle);
    curl_close($handle);  
    return $connectable;
}


zatial široko-daleko najefektivnejši skript, rozoznáva aj nieconieco.over.cz domeny sice pink.sk nie, ale vyčital som niečo ze funkčnosť tomuto skriptu pridáva array('User Agent... cize nieco co Vas indentifikuje ako Firefox v tomto pripade ak som tomu dobre pochopil, je to potrebne pri domenach (hostingoch) s nejakými obmedzeniami, resp zabezpečením... ale aké zabezpečenie ma pink.sk ? dufam že nieje veľa takých domén


Moderátor DoubleThink: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Myslíme to vážně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: