|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Warning fopen() |
|
|
Warning fopen()
|
Пользователь Сообщения: 122 |
Профиль | Отправить PM | Цитировать Есть вот такая функция:
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 |
|