Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Считывание из каталога
 
 автор: Akira   (22.04.2005 в 00:41)   письмо автору
 
 


 <?
 $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 все работает(Нафиг его надо =( )
На хосте нет. Где ошибка?

   
 
 автор: isset   (22.04.2005 в 01:28)   письмо автору
 
   для: Akira   (22.04.2005 в 00:41)
 

А где "здесь"? Ищите сами?
[поправлено модератором]

   
 
 автор: $OMEGA   (22.04.2005 в 10:21)   письмо автору
 
   для: Akira   (22.04.2005 в 00:41)
 

Код вроде без ошибок, может проблема в правах доступа на хосте, в любом случае - ответ сервера, в студию!

   
 
 автор: cheops   (22.04.2005 в 12:29)   письмо автору
 
   для: Akira   (22.04.2005 в 00:41)
 

А как проявляется не работа?

PS Поставьте в конце switchskin.php
<?php
  
unset($skins);
?>

иначе при повторном вызове массив будет содержать результаты работы предыдущего скрипта.

   
 
 автор: Akira   (22.04.2005 в 14:05)   письмо автору
 
   для: cheops   (22.04.2005 в 12:29)
 

Как не работает? Можно посмотреть на мой форум, вот он как раз и не работает =(
Он просто перестает грузиться после вставки switchskin.

   
 
 автор: Akira   (22.04.2005 в 15:05)   письмо автору
 
   для: 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";
?>

Ставлю проверку на сущ. куки. Если есть то используем куки, если нет то настройки.
Я не понемаю в чем может быть проблема?

   
 
 автор: cheops   (22.04.2005 в 15:58)   письмо автору
 
   для: Akira   (22.04.2005 в 15:05)
 

Хм... а распечатка
<?php
  print_r
($_COOKIE);
?>

что даёт? $_COOKIE['current_author'] ставится, а $_COOKIE['skin'] нет?

   
 
 автор: cheops   (22.04.2005 в 16:05)   письмо автору
 
   для: Akira   (22.04.2005 в 15:05)
 

Вы зря $skin в switchskin.php выставляете, лучше это делать в topforum.php - возможно он и затирает $skin, выставленный из cookie.

   
 
 автор: Akira   (22.04.2005 в 16:51)   письмо автору
 
   для: cheops   (22.04.2005 в 16:05)
 

Проблема имеено в листенге switchskin.php
А точнее в dir().
НЕ работает она =(

   
 
 автор: Akira   (22.04.2005 в 16:56)   письмо автору
 
   для: Akira   (22.04.2005 в 16:51)
 

Кстати поэтому и не ставился LF2 на хостинг vline

   
 
 автор: Akira   (22.04.2005 в 19:31)   письмо автору
 
   для: 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:50)   письмо автору
 
   для: Akira   (22.04.2005 в 19:31)
 

Так все работает.
Прошу на тест.

   
 
 автор: cheops   (22.04.2005 в 22:08)   письмо автору
 
   для: Akira   (22.04.2005 в 19:50)
 

Ужас! У меня вообще шапка не отображается и стили, подозреваю, что из-за того, что не выставлены куки или выставлены не корректно из-за предыдущего тестирования - надо бы как-то это обработать, а то всех распугаете :)))

   
 
 автор: Akira   (22.04.2005 в 22:10)   письмо автору
 
   для: cheops   (22.04.2005 в 22:08)
 

ОПа =)) Забыл =))

   
 
 автор: Akira   (22.04.2005 в 22:17)   письмо автору
 
   для: Akira   (22.04.2005 в 22:10)
 

Все =) У меня Посититель видит как надо =)

   
 
 автор: cheops   (22.04.2005 в 22:29)   письмо автору
 
   для: Akira   (22.04.2005 в 22:17)
 

Разъезжается дизайн в базовом стиле под Opera.

   
 
 автор: Akira   (22.04.2005 в 22:31)   письмо автору
 
   для: cheops   (22.04.2005 в 22:29)
 

Если имееться ввиду base =) и выбор скина , то и задумано =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования