Topic: Kaip patikrinti linka

Sveiki gal kas zino kaip butu galima patikrinti ar nurodytas linkas egzistuoja.
jei bandau kazka su fopen, fsockopen ir pan. viskas gerai tik tuomet jei nurodytas linkas egzsituoja, nei nurodyto linko nera tai ekrane isvedamos klaidos:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: hostname nor servname provided, or not known in...
O man reikia kazko panasaus, kad atsakymas butu true arba false ir jokiu nereikalingu pranesimu ekrane nebutu.

Re: Kaip patikrinti linka

Linkas 1: http://lt2.php.net/manual/en/function.fopen.php

Atkreipti dėmesį į:
a) Return Values - Returns a file pointer resource on success, or FALSE on error.
b) Errors/Exceptions - If the open fails, the function an error of level E_WARNING is generated. You may use @ to suppress this warning.

Linkas 2: http://lt2.php.net/manual/en/function.fsockopen.php

Atkreipti dėmesį į:
a) Return Values - fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets(), fgetss(), fwrite(), fclose(), and feof()). If the call fails, it will return FALSE

Kitaip sakant jeigu nori žinoti ar buvo klaida tai vienaip ar kitaip turi tikrinti ar ji buvo ar nebuvo. Tai bendrai vadinama klaidų apdorojimas (error handling). ... klaidas REIKIA apdoroti, tai savaime neįvyks (-;

Re: Kaip patikrinti linka

tai, klaidas as galiu apdoruoti, bet iki ju reikia prisikasti. problema yra ta, kad po komandos fsockopen() ekrane isvedamos klaidos, kaip padaryti, kad jei tokio linko nera, kad i ekrana nebutu isvedamos klaidos

Re: Kaip patikrinti linka

evka wrote:

tai, klaidas as galiu apdoruoti, bet iki ju reikia prisikasti. problema yra ta, kad po komandos fsockopen() ekrane isvedamos klaidos, kaip padaryti, kad jei tokio linko nera, kad i ekrana nebutu isvedamos klaidos

Taigi jau parašiau (-;

Re: Kaip patikrinti linka

jo , aciu, padejo
bet as pastebejau, kad jis negali patikrinti viso linko, pvz. jei linkas toksai 192.168.0.1, tai tvarkoje
bei jei linkas 192.168.0.11/iitp/set.exe ar pan., jis nesugeba patiktrinti, is vis jau prasideda problemos kai po linko padet "   /    "

Re: Kaip patikrinti linka

Kas tas "jis"?

Re: Kaip patikrinti linka

dabar dariau su fsockopen

Re: Kaip patikrinti linka

padariau su fopen, viskas gerai veikia ir klaidas paprasta patikrinti.
aciu adminui :))

Re: Kaip patikrinti linka

fsockopen() dirba socket'ų lygije, tam kad galėtum "tikrinti" HTTP link'us turi su juo vykdyti HTTP protokolu. T.y. vien tik davus funkcijai HTTP link'ą nieko gero ir nesitikėk.

Daugiau apie HTTP protokolą: http://www.w3.org/Protocols/

O bendrai tai jeigu dar kyla klausimai: kaip su PHP apdoroti funcijų rezultatus, kaip apdoroti klaidas, kaip susirasti informaciją PHP manuale, tai pradžiai rekomenduočiau padirbėt su paprastesniais projektais ir vėliau gililinti žinias bei domėtis kitomis technologijomis. Aišku, kaip veikia web serverio - web kliento sistema irgi labai naudinga žinoti (-;