#1001 2013.05.15 10:31

AND
Участник
Зарегистрирован: 2009.01.23
Сообщений: 87
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, подойдет функция trigger_error с флагом E_USER_NOTICE ?
Опоздал)

Отредактировано AND (2013.05.15 10:33)

Неактивен

#1002 2013.05.15 11:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Спасибо, пригодится. Написал уже крокодила что бы вел логи) Может понадобится.

Код:

1
span style="color: #0000BB"><?php//include_once ROOT . '/' . SYSTEM . '/function.php'; // Вспомогательные функцииfunction is__writable($path) {//will work in despite of Windows ACLs bug//NOTE: use a trailing slash for folders!!!//see http://bugs.php.net/bug.php?id=27609//see http://bugs.php.net/bug.php?id=30931 if ($path{strlen($path)-1}=='/') // recursively return a temporary file path return is__writable($path.uniqid(mt_rand()).'.tmp'); else if (is_dir($path)) return is__writable($path.'/'.uniqid(mt_rand()).'.tmp'); // check tmp file for read/write capabilities $rm = file_exists($path); $f = @fopen($path, 'a'); if ($f===false) return false; fclose($f); if (!$rm) unlink($path); return true;}class MyException extends Exception { }/* * @name Log * @date 14.05.2013 * @author TLENS */class Log { static private $openLogFile = array(); static private $error = null; static private $log = null; static private $localPath = "Log"; private $logName; private $logData = array(); private $logDir; private $logFileName; private $logFullPath; private $display = false; static public function &init ($name, $mess = null) { if (!isset(Log::$openLogFile[$name])) { Log::$openLogFile[$name] = new Log($name); } Log::$openLogFile[$name]->addMessage($mess); return Log::$openLogFile[$name]; } private function __construct($logName, $display = false) { $this->logName = $logName; $this->display = $display; $this->logFileName = "$this->logName.log"; $this->logDir = ROOT . '/' . DATA . '/' . Log::$localPath . ''; $this->logFullPath = "$this->logDir/$this->logFileName"; if (!file_exists($this->logFullPath)) { $this->addMessage("Created log-file $this->logName"); } } public function __destruct() { //var_dump($this); if (sizeof($this->logData) === 0) { return; } if (!is_dir($this->logDir)) { throw new MyException("Dir '$this->logDir' not found! Plese create this dir."); return; } if (!is__writable($this->logDir)) { throw new MyException("Dir '$this->logDir' puts permission denied! Plese config cmod this dir."); return; } if (file_exists($this->logFullPath) && !is_writable($this->logFullPath)) { throw new MyException("File '$this->logFullPath' fputs permission denied! Plese config this file."); } if (!($fp = fopen($this->logFullPath, 'a'))) { throw new MyException("Falied to open $this->logFullPath!"); } foreach ($this->logData as $log) { $date = date("Y/m/d h:i:s", $log['time']); fputs($fp, "$date [$this->logName]: {$log['mess']}\n"); } fclose($fp); } public function addMessage($mess) { if (!$mess) return; $mess = str_replace("\n", "\n\t", $mess); $this->logData[] = array('time' => time(), 'mess' => $mess); } static public function error($message) { if (!$message) return; if (!Log::$error) { Log::$error = new Log("Error"); } Log::$log->addMessage($message); } static public function log($message) { if (!$message) return; if (!Log::$log) { Log::$log = new Log("log"); } Log::$log->addMessage($message); }}?>

Может можно было это все реализовать в классе MyException но я же не китаец что бы все упрощать)

Неактивен

#1003 2013.05.15 12:28

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, сейчас стандарт де факто в php логгерах - это Monolog.

Неактивен

#1004 2013.05.15 18:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Есть ли в php расширение какое то для взаимодействия с программами через через fcgi?

Неактивен

#1005 2013.05.15 18:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, по идее самому через сокеты можно сделать. Хотя хз, слишком специфичная задача, не сталкивался сам.

Неактивен

#1006 2013.05.15 20:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Попробую сам написать но уже тесно связанную со своей задачей. меня больше привлекает непрерывное соединение

Неактивен

#1007 2013.06.23 02:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Неактивен

#1008 2013.06.27 14:39

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

tipsun, в google забанили? Вот, посмотри тут: http://www.cyberforum.ru/php/thread157657.html

Неактивен

#1009 2013.06.27 15:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, ты бы просто конкретнее написал что не понятно. а то хз что из этого кода описывать

Неактивен

#1010 2013.09.11 22:06

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет, как можно определить на каких сайтах стоит граббер на мой сайт?


вед в статистике опредиляется только ip


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.034 s