![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Warning fopen() |
|
|
Warning fopen()
|
![]() Пользователь Сообщения: 122 |
Есть вот такая функция:
function add_log($var_func) { include_once "config.php"; include_once "connect_db.php"; $fp = fopen ("$squid_log_path/access.log.$var_func","r"); while ($userinfo = fscanf ($fp, "%s\t%s\t%s\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t")) { list ($datetime, $session, $ip_client, $http_code, $size, $request_m, $url, $ident, $data_host, $type) = $userinfo; $date_ok = date('Y-n-j H:i:s', strtotime('+3 hour', $datetime)); $ip_drop = sscanf($ip_client, "%d\x2E%d\x2E%d\x2E%d"); list ($ip1, $ip2, $ip3, $ip4) = $ip_drop; $ip1_h = dechex ($ip1); $ip2_h = dechex ($ip2); $ip3_h = dechex ($ip3); $ip4_h = dechex ($ip4); $result = mysql_query("INSERT INTO squid_log VALUES ('$ip1_h','$ip2_h','$ip3_h','$ip4_h','$date_ok','$url','$http_code','$size','$session')") or die("Invalid query"); if ($result) echo "<FONT COLOR=GREEN>ok</FONT><BR>"; else echo "<FONT COLOR=RED>false</FONT>"; }; // while fclose($fp); } //func Warning: fopen(/access.log.8): failed to open stream: No such file or directory in /var/www/html/project/squid.php on line 101 Warning: fscanf(): supplied argument is not a valid File-Handle resource in /var/www/html/project/squid.php on line 102 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/html/project/squid.php on line 124 |
|
Отправлено: 01:00, 23-09-2005 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Первый Warning говорит, что нет такого файла
Два других-это следствие того, что файл не был открыт Почему так происходит - хмм..... По какой то причине не находит файл |
------- Отправлено: 02:40, 23-09-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Сейчас из кода заменил одну строчку
на и код благополучно выполнил всю работу. но почему? ведь писать путь к файлам целиком это не есть хорошо, в случаи миграции кода на другую систему сколько надо будет перелопатить... |
Отправлено: 06:19, 23-09-2005 | #3 |
![]() Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать что то мне кажется где то я вот такую функцию пропустил pclose();
|
Отправлено: 09:04, 23-09-2005 | #4 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать а что содержится в переменной $squid_log_path?
|
|
------- Отправлено: 13:08, 23-09-2005 | #5 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать pclose(); нужен когда открывается процесс функцией popen()
|
------- Отправлено: 13:10, 23-09-2005 | #6 |
![]() Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать $squid_log_path? = "/opt/squid/var/logs";
ну переменная записанна в файле config.php |
Отправлено: 15:10, 23-09-2005 | #7 |
Старожил Сообщения: 158
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:59, 23-09-2005 | #8 |
Старожил Сообщения: 158
|
Профиль | Отправить PM | Цитировать Цитата:
как, скажите мне, может появиться путь /access.log.8, если была конкретная строчка, в которой был прописан путь с $squid_log_path, и $squid_log_path действительно имеет значение? Цитата:
|
||
------- Отправлено: 16:31, 23-09-2005 | #9 |
![]() Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Но!, но если вызов функции зделать вот такую
add_log(1); то код выполнится верно если же вот такую строчку: add_log(8); То код тоже выполняет все верно, Но если вписать до функции сразу 2 вызова функции скажем так add_log(1); add_log(8); то код не_будет выполнен корректно и даст ошибку. Ошибка выводится только если выполнять эту функцию 2 и более раза, в одинарном случаи он выполняет и add_log(1); и add_log(8); а это значит что конфиг.ПХП путя, файл, хард и видяшка работает отлично. Проблема лишь в том что на второй раз вызов функции дает збой. P.S. Почему только у меня талант клепать такие ошибки ? |
Отправлено: 20:45, 23-09-2005 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
error! Warning: mysql_num_rows() | dihlof0s | Вебмастеру | 5 | 05-08-2008 11:10 | |
Warning SCECLI | EndErr | Microsoft Windows NT/2000/2003 | 4 | 18-07-2007 16:41 | |
как с помощью fopen писать в файл на своем диске | vagner_HATE | Вебмастеру | 7 | 04-10-2005 21:47 | |
Warning disk | ZloiJoker | Microsoft Windows NT/2000/2003 | 7 | 13-03-2004 22:13 | |
Warning NetLogon | ZloiJoker | Microsoft Windows NT/2000/2003 | 11 | 29-01-2004 15:40 |
|