zashibis Опубликовано 11 апреля, 2007 Жалоба Поделиться Опубликовано 11 апреля, 2007 Установил счетчик BS Image Counter на www.reklamaforyou.net.ru счетчик отрабатывает некорректно, особенно это видно под Explorer-ом, данные качаются, а графическая составляющая нет. Если Кто-нибудь может, подскажите в чем дело, Пожалуйста Пример здесь, Внизу слева!!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 11 апреля, 2007 Жалоба Поделиться Опубликовано 11 апреля, 2007 Ну если просмотрите HTML код увидите ошибок, интересно что под Firefox и под IE код различен. Если покажите нам сам изходник сайта, PHP код, можно найти и конкретную ошибку :) Ссылка на комментарий Поделиться на другие сайты Поделиться
zashibis Опубликовано 12 апреля, 2007 Автор Жалоба Поделиться Опубликовано 12 апреля, 2007 на странице выложил следуя указаниям <?php include("php-bin/bscounter-php/count.php"); ?> и <?php bscounter("imia","image", "LED", "png", 5, 5); ?> скрипт: <?php // BS Counter PHP (v2.5.3) // Copyright 1999-2005 Brian Stanback <brian at stanback dot net> // This software is protected under the GNU General Public License (see LICENSE) $pathElem=pathinfo(__FILE__); $scriptPath=$pathElem['dirname']; // // Set config options (see the docs/README for config instructions) // // WWW path where png digit images are located (include trailing slash) $digits_dir = $scriptPath . "/bscounter-common/images/digits/"; // Directory that houses the xml data files (include trailing slash) $data_dir = $scriptPath . "/../../bscounter-common/data/"; // // Begin script // $time = date("z1y"); $total = 0; $hosts = array(); // // Record the hit and print out the count // function bscounter($file = "default", $type = "text", $style = "default", $imgtype = "png", $nbdigits = 5, $allow_reloads = 0) { global $total, $digits_dir; record_hit($file, $allow_reloads); if ($type == "image") { for ($i=0; $i<($nbdigits - strlen($total)); $i++) { $zeros .= '0'; } $total = $zeros . $total; foreach (preg_split("//", $total, -1, PREG_SPLIT_NO_EMPTY) as $num) { echo "<img src=\"$digits_dir$style/$num.$imgtype\" alt=\"$num\" />"; } } elseif ($type == "text") { echo number_format($total); } } function record_hit($file, $allow_reloads) { global $data_dir, $time, $total, $hosts; $total = 0; // Resolve hostname if web server hasnt already (for country statistics) if (!$_SERVER['REMOTE_HOST']) { $_SERVER['REMOTE_HOST'] = gethostbyaddr($_SERVER['REMOTE_ADDR']); } // Parse the XML stats file for hit count if (file_exists("$data_dir$file.xml")) { parse_xml("$data_dir$file.xml"); } // Count hits in interm log file while checking for reloads if (file_exists("$data_dir$file.log")) { $deny_update = count_interm("$data_dir$file.log", $allow_reloads); } if ($deny_update != 1 and $allow_reloads != 1) { foreach ($hosts as $host) { if ($host == $_SERVER['REMOTE_HOST']) { $deny_update = 1; break; } } } // Append hit to interm log file if ($deny_update != 1) { if (file_exists($data_dir)) { $fh = fopen("$data_dir$file.log", "a"); if (flock($fh, LOCK_EX)) { fseek($fh, 0, SEEK_END); fwrite($fh, $time . "\t" . validate_input($_SERVER['HTTP_USER_AGENT']) . "\t" . validate_input($_SERVER['HTTP_REFERER']) . "\t" . validate_input($_SERVER['REMOTE_HOST']) . "\n"); flock($fh, LOCK_UN); } fclose($fh); $total++; } else { echo "Counter Error: Data directory not found\n"; } } } // // XML Parsing Routines // function parse_xml($file) { global $total, $hosts; $fh = fopen($file, "r"); if (flock($fh, LOCK_SH)) { while (!feof($fh)) { $line = fgets($fh, 4096); if (preg_match("/<total>(\d+)<\/total>/", $line, $regs)) { $total = $regs[1]; } elseif (preg_match("/<host value=\"(.*)\" \/>/", $line, $regs)) { array_push($hosts, $regs[1]); } } flock($fh, LOCK_UN); } fclose($fh); } // // Interm log processing // function count_interm($file, $allow_reloads) { global $total; $deny_update = 0; $fh = fopen($file, "r"); if (flock($fh, LOCK_SH)) { while (!feof($fh)) { $line = fgets($fh, 4096); $total++; if ($allow_reloads != 1) { list($access_time, $user_agent, $referer, $host) = explode("\t", trim($line)); if ($host == $_SERVER['REMOTE_HOST']) { $deny_update = 1; } } } flock($fh, LOCK_UN); } fclose($fh); $total--; return $deny_update; } // // Remove all 'innapropriate' characters // function validate_input($in) { return preg_replace("#[^A-z0-9-_.+=%&/\?\: ]#", "", $in); } ?> Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 12 апреля, 2007 Жалоба Поделиться Опубликовано 12 апреля, 2007 (изменено) Попробуйте пользуват относительного путя Замените $digits_dir = $scriptPath . "/bscounter-common/images/digits/"; На $digits_dir = "bscounter-common/images/digits/"; Изменено 12 апреля, 2007 пользователем Darhazer Ссылка на комментарий Поделиться на другие сайты Поделиться
zashibis Опубликовано 12 апреля, 2007 Автор Жалоба Поделиться Опубликовано 12 апреля, 2007 не помогает, если смотреть скрипт странички из Explorer-а, то там на цифры какая-та совсем странная ссылка появляется: <img src="/home/zashibis/public_html/php-bin/bscounter-php/bscounter-common/images/digits/LED/0.png" alt="0" /> а насколько я понимаю должно быть: <img src="/bscounter-common/images/digits/LED/0.png" alt="0" />. Вот откуда рождается такое начало у ссылки на изображение не совсем ясно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 13 апреля, 2007 Жалоба Поделиться Опубликовано 13 апреля, 2007 zashibis: путь /home/zashibis/public_html/php-bin/bscounter-php/bscounter-common/images/digits/LED/0.png - это абсолютный путь на сервере, а из браузера он соответственно не виден, так как у браузера корнем считается обычно директория public_html Меня интерисует вопрос, Вы сделали замену, как показал Darhazer? Сделайте, должно помочь! Ссылка на комментарий Поделиться на другие сайты Поделиться
zashibis Опубликовано 13 апреля, 2007 Автор Жалоба Поделиться Опубликовано 13 апреля, 2007 Если сделать такую замену, то будет не /home/zashibis/public_html/php-bin/bscounter-php/bscounter-common/images/digits/LED/0.png а /home/zashibis/public_html/php-bin/bscounter-phpbscounter-common/images/digits/LED/0.png Как видно "/" между bscounter-php и bscounter-common/ пропадает... Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 13 апреля, 2007 Жалоба Поделиться Опубликовано 13 апреля, 2007 Попробуйте тогда так echo "<img src=\"$digits_dir$style/$num.$imgtype\" alt=\"$num\" />"; Заменит на echo "<img src=\"bscounter-common/images/digits/LED/$num.$imgtype\" alt=\"$num\" />"; Ссылка на комментарий Поделиться на другие сайты Поделиться
zashibis Опубликовано 13 апреля, 2007 Автор Жалоба Поделиться Опубликовано 13 апреля, 2007 Спасибо Всем, кто советовал, особенно Darhazer. Помогло. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти