Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] poprawnośc adresu www
mdx
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 7.03.2003
Skąd: Warszawa

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


zadam pytanie wprost jak zprawdzić poprawność wpisanego adresu strony internetowej, nie chodzi mi tylko o poszątek ale o zawartość tylko poprawnych znaków i rozszezenia domeny szukałem chyba wszędzie ale bezskutecznie sam próbowałem napisac ale nic nie wychodziłowięcpytam was jakoprofesjonalistów jak to zrobić ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wojtek
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: --

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


Kiedys napisalem cos takiego, moze sie komus przyda:

[php:1:51f7d75263]<?php
function sprawdz_url($url) { // SPRAWDZA CZY DANA STRONA ISTNIEJE

if (!eregi("/",$url)) {
$url = $url."/";
}

$adres[0] = substr($url, 0,strpos($url,"/"));
$adres[1] = substr($url, strpos($url,"/"));
$f=@fsockopen($adres[0], "80");
$odp="";
if ($f) {
fputs($f, "HEAD " . $adres[1] . " HTTP/1.0rnrn");
while(!feof($f)) {$odp .= fgets($f,1024); }
fclose($f);
}
if (eregi("HTTP/1.. 200",$odp)) { // je¶li naglowek zawiera 200
return true;
}
else { // nadal blad

$host=str_replace("http://","",$url);
$host=str_replace("www.","",$host);
$host=split("/",$host);

$host=split(".", $host[0]);
$ile=count($host);
$host=$host[$ile-2].".".$host[$ile-1];

if (@checkdnsrr($host, MX)) { // jesli sprawdzil dns'a i jest ok
return true;
}
else { // jesli nadal stronki nie ma
$otworz = @fopen($url, "r");
if ($otworz) {
return true;
}
else {
return false;
}
}
}
}
?>[/php:1:51f7d75263]

Najpierw sprawdza odpowiedz serwera przez fsockopen (tutaj chyba wykorzystalem fragment z webreportera), potem sprawdza wpis w DNSie (jesli wynik fsockopen byl negatywny), na koniec (jesli nie bylo wpisu w DNSie) probuje otworzyc strone przez fopen (dalem na koniec, bo to troche moze potrwac). To bylo pisane jakies 8 miesiecy temu, od tego czasu z tego nie korzystalem takze nie wiem czy ciagle dziala ;)
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 12:14