|
|
|
|
<?
$dirname = '../skins'; # Данный Каталог (Указываем любой)
$dir = opendir($dirname); # Открываем каталог
while ($file = readdir($dir))
{
$size = bcdiv(@filesize($file), 1024 , 2); /* чисто символьный размер в кб */
$size_full = round($size).'(кб.)'; /* размер файла с указанием в чем измеряем */
$filename = substr($file,0,strpos($file,".")); /* имя файла без расширения */
$exe = strrchr($file, '.'); /* его расширение */
if(($file != ".") # Каталог Данный
&&($file != "..") # Каталог Корневой
&& (substr($file, -3) != "php") /* Файлы с расшерением .php не выводяться, можно указать любой тип файлов который не надо выводить, пример: && (substr($file, -3) != "html") */
&&(is_dir($file) != "true" ) # Не выводим каталоги
&&($file != "readme")
)
{
$skins[]=$file;
}
}
closedir($dir); # Закрываем каталог
?>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=switchforum>
<form style="margin: 0px" action=skin.php method=get>
<nobr><p class=texthelp>Выбрать другой скин<br>
<select type=text name='skinnow'>
<?
foreach ($skins as $key => $skin_forum)
{
print "<option value='$skin_forum'>$skin_forum</option>";
}
?></select>
<input class=button type=submit value="Сменить">
</nobr>
</td></tr>
</table>
</form>
|
Это был файл switchskin.php
<div class=switchforumdiv>
<?php
if($show_switch_forum) include "../utils/switchforum.php";
?>
</div>
<div class=switchskindiv>
<?php
if($show_switch_forum) include "../utils/switchskin.php";
?>
</div>
|
В этом месте появляеться проблеме т.е. при подключение файла.
самое интересно , что на Денвере2 все работает(Нафиг его надо =( )
На хосте нет. Где ошибка? | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 00:41)
| | А где "здесь"? Ищите сами?
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 00:41)
| | Код вроде без ошибок, может проблема в правах доступа на хосте, в любом случае - ответ сервера, в студию! | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 00:41)
| | А как проявляется не работа?
PS Поставьте в конце switchskin.php
иначе при повторном вызове массив будет содержать результаты работы предыдущего скрипта. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 12:29)
| | Как не работает? Можно посмотреть на мой форум, вот он как раз и не работает =(
Он просто перестает грузиться после вставки switchskin. | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 14:05)
| | Да виновать имеено switchskin. Я поставил туда чистый html код. Все заработало.
Но все равно почему то форум не берет переменную $skin из куки =( Куки ставяться на ура.
<?php
///////////////////////////////////////////////////
// Web-приложение форум - LiteForum
// Поддержка http://www.softtime.ru/forum/
// 2003-2004 (C) IT-студия SoftTime (http://www.softtime.ru)
// Симдянов И.В. (simdyanov@softtime.ru)
// Голышев С.В. (softtime@softtime.ru)
// Кузнецов М.В. (kuznetsov@softtime.ru)
///////////////////////////////////////////////////
// Извлекаем имя посетителя из cookie
$current_author = $_COOKIE['current_author'];
$current_author = str_replace("'","'",$current_author);
// Загружаем настройки форума выставленные админом из базы данных
$set = mysql_query("SELECT * FROM settings");
if($set) $settings = mysql_fetch_array($set);
// Устанавливаем название форума. Если странице не будет
// передаваться название - будет подставляться это значение
$titleall = $settings['name_forum'];
if (!isset($title)) $title = $titleall;
// Выясняем название директории, где хранится скин
if (empty($_COOKIE['skin']))
{
$skin = "../skins/".$settings['skin']."/";
}
else $skin = "../skins/".$_COOKIE['skin']."/";
// Выясняем дату последнего вхождения и выводим приветствие
if(!empty($current_author))
{
settime($current_author,false);
$query = "SELECT * FROM authors
WHERE name = '$current_author'";
$ath = mysql_query($query);
if($ath)
{
$auth = mysql_fetch_array($ath);
$lasttime = $auth['last_time'];
} else puterror("Ошибка при выборке тем форума...");
} else $current_author = " Посетитель";
// Если время последнего пребывания посетителя неустановлено
// выводим будут отмечены изменения за последние 2 часа
if(empty($lasttime)) $lasttime = date("Y-m-d H:i:s",time()-3600*2);
if (($showforumsline || $readforumline) && $settings['show_forum_switch'] == 'yes') $shownewpost=true;
else $shownewpost=false;
if($showforumsline && $settings['show_forum_switch'] == 'yes') $show_switch_forum=true;
else $show_switch_forum=false;
?>
<html>
<head>
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="imagetoolbar" content="no">
<title><? echo $title ?></title>
<link rel="StyleSheet" type="text/css" href="<?php echo $skin; ?>forum.css">
<link rel="StyleSheet" type="text/css" href="<?php echo $skin; ?>mainstyles.css">
<?php
if (basename($_SERVER['PHP_SELF'])=="read.php") { ?>
<link rel="StyleSheet" type="text/css" href="<?php echo $skin; ?>read.css">
<? } ?>
</head>
<?
include $skin."diztop.php";
?>
|
Ставлю проверку на сущ. куки. Если есть то используем куки, если нет то настройки.
Я не понемаю в чем может быть проблема? | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 15:05)
| | Хм... а распечатка
<?php
print_r($_COOKIE);
?>
|
что даёт? $_COOKIE['current_author'] ставится, а $_COOKIE['skin'] нет? | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 15:05)
| | Вы зря $skin в switchskin.php выставляете, лучше это делать в topforum.php - возможно он и затирает $skin, выставленный из cookie. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 16:05)
| | Проблема имеено в листенге switchskin.php
А точнее в dir().
НЕ работает она =( | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 16:51)
| | Кстати поэтому и не ставился LF2 на хостинг vline | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 16:56)
| | элегантная замена dir() и readdir()
<?
$string = "../skins/";
foreach (glob("$string*", GLOB_ONLYDIR) as $filename) {
if (substr(strrchr($filename, $string),(strlen($string)-1)) != "standart") $skins[] = substr(strrchr($filename, $string),(strlen($string)-1));
}
?>
|
Выводяться только папки из дириктории $string .
Только скин все равно на хосте не меняеться =( | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 19:31)
| | Так все работает.
Прошу на тест. | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 19:50)
| | Ужас! У меня вообще шапка не отображается и стили, подозреваю, что из-за того, что не выставлены куки или выставлены не корректно из-за предыдущего тестирования - надо бы как-то это обработать, а то всех распугаете :))) | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 22:08)
| | ОПа =)) Забыл =)) | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 22:10)
| | Все =) У меня Посититель видит как надо =) | |
|
|
|
|
|
|
|
для: Akira
(22.04.2005 в 22:17)
| | Разъезжается дизайн в базовом стиле под Opera. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 22:29)
| | Если имееться ввиду base =) и выбор скина , то и задумано =) | |
|
|
|