Глядя на счётчик посещений mail.ru, или на какой-либо другой информер, вы наверняка задумывались о том, как бы сделать такой самому. Эта статья поможет вам осуществить ваши планы. Всё, что для этого понадобится – хостинг с поддержкой PHP и знание основ этого языка. Читать полностью »
Не следует забывать еще про одно сетевое соединение - соединение клиента с веб-сервером, во время которого выполняется скрипт. Представьте себе ситуацию, Читать полностью »
С чего начать?
Я думаю, сейчас самое время перейти от слов к делу - сделать первый небольшой скрипт.
Возьмем для примера следующую Читать полностью »
if(getenv("http_client_ip")) { $ip = getenv("http_client_ip"); } elseif(getenv("http_x_forwarded_for")) { $ip = getenv("http_x_forwarded_for"); } else { $ip = getenv("remote_addr"); }
ну и проверяй потом, соответствует, или нет
пробовал, работает. Теперь, Читать полностью »
С аудиограбберами знакомы все. Нам предстоит сделать свой собственный граббер информации из Интернета. Нам понадобится подопытный кролик, на роль которого я Читать полностью »
CSV-файлы очень популярны для представления электронных таблиц - файл является текстовым, ячейки таблицы в нём разделяются точкой с запятой. Представляем вашему вниманию класс, разработанный Кондраковым Александром Владимировичем, позволяющий генерировать CSV-файл из массива PHP. Читать полностью »
Иногда возникает необходимость хранить в файле данные о курсе валют для его последующего использование в различных скриптах (например, в валютном калькуляторе). Разумеется, данные о курсе валют должен ежедневно обновляться и в файл должны записываться новые данные. Читать полностью »
< ? function check_url($url) { if (eregi( '^http://', $url)) { $urlarray = parse_url($url); if (!$urlarray[port]) $urlarray[port] = '80'; if (!$urlarray[path]) $urlarray[path] = '/'; $sock = fsockopen($urlarray[host], $urlarray[port], &$errnum, &$errstr); if (!$sock) $res = 'dns'; else { $dump .= "get $urlarray[path] http/1.1rn"; $dump .= "host: $urlarray[host]rnconnection: closern"; $dump .= "connection: closern"; fputs($sock, $dump); while ($str = fgets($sock, 1024)) { if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $res[code] = trim(eregi_replace('^http/[0-9]+.[0-9]+([0-9]{3})[a-z ]*', "\1", $str)); if (eregi("^content-type: ", $str)) $res[contenttype] = trim(eregi_replace("^content-type: ", "", $str)); } fclose($sock); flush(); return $res[code]; } } else $res = "n/a"; return $res; } ?>