Показать сообщение отдельно
Igorian вне форума      Старый #4  
Igorian
Новенький
Регистрация: 12.12.2005
Сообщения: 5


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Igorian Найти все сообщения от Igorian Добавить Igorian в список друзей  
04.01.2006, 09:21

#!/usr/bin/php
<?php
/************************************************** ****************************
рТПДХЛФ: PHP File Server Info
нПДХМШ: уУЩМЛЙ
жБКМ: update.php
оБЪОБЮЕОЙЕ: ъБРХУЛБЕФУС РМБОЙТПЧЭЙЛПН Ч ЛБЮЕУФЧЕ ПВЩЮОПЗП УЛТЙРФБ ЛБЦДЩЕ
N НЙОХФ. пВОПЧМСЕФ Ч ВБЪЕ ДБООЩИ ЙОЖПТНБГЙА П УЕТЧЕТБИ
(УУЩМЛБИ): ХУФБОБЧМЙЧБЕФ УФБФХУ - "on" ЙМЙ "off"
бЧФПТ: negus
дБФБ: 01.10.2005
************************************************** *****************************/

require '/home/negus/public_html/conf/conf.inc';
require '/home/negus/public_html/classes/db_'.DBMS.'.php';

$db = new DB();

### рпдлмаюеойе л вбъе дбоощи ###
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME,DB_PORT,DB _CHARSET);
$errmsg = $db->get_error();
if ($errmsg !== '') exit($errmsg);

// ----------------------------------------------------------------------------
// пуопчобс юбуфш
// ----------------------------------------------------------------------------

### пвопчмеойе йожптнбгйй пв FTP-уетчетби ###
$req = "SELECT * FROM ".T_LINKS_FTP;
$result = $db->query($req);
while ($row = $db->fetch_row($result))
{
$conn_id = ftp_connect($row[0],0,60);
if ($conn_id)
{
ftp_close($conn_id);
$req = "UPDATE ".T_LINKS_FTP." SET status='on' WHERE ip='".$row[0]."'";
$db->query($req);
}
else
{
$req = "UPDATE ".T_LINKS_FTP." SET status='off' WHERE ip='".$row[0]."'";
$db->query($req);
}
}

### пвопчмеойе йожптнбгйй пв HTTP-уетчетби ###
$req = "SELECT * FROM ".T_LINKS_HTTP;
$result = $db->query($req);
while ($row = $db->fetch_row($result))
{
$conn_id = curl_init();
curl_setopt($conn_id,CURLOPT_URL,$row[0]);
curl_setopt($conn_id,CURLOPT_TIMEOUT,60);
curl_setopt($conn_id,CURLOPT_RETURNTRANSFER,1);
if (curl_exec($conn_id))
{
curl_close($conn_id);
$req = "UPDATE ".T_LINKS_HTTP." SET status='on' WHERE url='".$row[0]."'";
$db->query($req);
}
else
{
$req = "UPDATE ".T_LINKS_HTTP." SET status='off' WHERE url='".$row[0]."'";
$db->query($req);
}
}
?>


там помоему стоил линукс в качестве сервера....
я просто в этом непонимаю... если кто понимат тот думаю поймёт.

вот таблица
CREATE TABLE pfsi_links_ftp (ip VARCHAR(15) NOT NULL, name VARCHAR(20),
status VARCHAR(3) NOT NULL, PRIMARY KEY (ip));

CREATE TABLE pfsi_links_http (url VARCHAR(255) NOT NULL, name VARCHAR(20),
status VARCHAR(3) NOT NULL, PRIMARY KEY (url));

вот логи нашего разгавора с хозяином скрипта

[20:38:34] <Igorian> а ты говорил что этот блок работает както через планировщик?
[20:38:50] <Igorian> можеш примерно описать как он работает?
[20:40:11] <[negus]> заносишь в планировщик запись
[20:40:16] <[negus]> чтоб запускал этот скрипт
[20:40:22] <[negus]> с нужным тебе интервалом
[20:40:23] <[negus]> и все
[20:40:28] <[negus]> у меня каждые 5 мин
[20:40:41] <Igorian> понятно...
[20:41:09] <Igorian> update.php и links.sql
[20:41:13] <[negus]> да
[20:41:14] <Igorian> они?
[20:41:18] <Igorian> ок
[20:41:20] <Igorian> спасиб
[20:41:22] <[negus]> первый это сам скрипт
[20:41:24] <[negus]> второй
[20:41:33] <Igorian> база
[20:41:34] <[negus]> это файл для создания таблиц в БД
[20:41:43] <Igorian> понял
[20:41:59] <[negus]> а уже как вывод делать на странице сам решай
[20:42:06] <[negus]> этот скрипт
[20:42:22] <[negus]> просто проверяет статус серверов из списка
[20:42:25] <[negus]> находящегося в БД
[20:42:33] <[negus]> и обновляет при необходимости
[20:42:40] <[negus]> on или off
[20:42:51] <Igorian> понятн, а ты его сам написал?
[20:42:55] <[negus]> чтобы эти данные выводить на сайте
[20:43:07] <[negus]> нужно извлекать из БД статус серверов
[20:43:08] <[negus]> и все
[20:43:12] <[negus]> да написал сам
[20:43:36] <Igorian> спасиб.