Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] poprawnośc adresu www
mdx
post 21.07.2003, 23:10:34
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 (1 - 6)
spenalzo
post 21.07.2003, 23:52:16
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Zainteresuj się funkcją [manual:157a2f4fa7]parse_url[/manual:157a2f4fa7] i posprawdzaj przy jej pomocy.


--------------------

Go to the top of the page
+Quote Post
Omega
post 22.07.2003, 07:50:44
Post #3





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

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


Albo zastosuj wyrażenia regularne...

[php:1:f88848f96e]<?php
eregi("^(http://)w*.?w.w+.*$", $adres);
?>[/php:1:f88848f96e]

Powinno działać...


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
GeoS
post 22.07.2003, 08:32:40
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

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


A nie prosciej pingowac podany przez usera adres i jesli jest jakas odpowiedz to uznac za prawidlowy :?:

Mozna tez pobawic sie z whois'em, ... aaevil.gif


--------------------
Zanim zadasz pytanie, zawsze wczesniej zajrzyj do manuala ( pl.php.net/manual/pl/ ).
Szukasz skryptow - www.hotscripts.com
Go to the top of the page
+Quote Post
g0blin
post 22.07.2003, 10:26:54
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 2.03.2003
Skąd: Tarnów

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


Pingowanie nie za bardzo chyba wchodzi w gre bo na czesci serwerow www sa wyciete odpowiedzi na icmp. Chyba najlepiej sprawdzacczy z danej nazwy otrzymamy ip hosta


--------------------
Pozdrawiam
Piotr P. 'g0blin'
Go to the top of the page
+Quote Post
wojtek
post 22.07.2003, 11:11:09
Post #6





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
mdx
post 22.07.2003, 11:39:26
Post #7





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

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


wow dzięki, ale i tak pewnie zostanę przy sprawdzaniu przez eregi() i wyrażenia regularne tak będzie najszybciej i dla mojego celu wystrczy
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 01:51