2014-02-14 2 views
1

код, который дает мои сеансы имя пользователя: отлично работает после входа в систему и дает имя

<?php echo $_SESSION['userName']; ?> 

Теперь я хочу, чтобы сосчитать все файлы в папке, то имя папки является имя пользователя, в системе, но я не могу заставить его работать как-то ...

<?php $pm = 0; 
    $dir = './berichten/<?php echo $_SESSION['userName']; ?>/'; 
    if ($handle = opendir($dir)) { 
     while (($file = readdir($handle)) !== false){ 
      if (!in_array($file, array('.', '..')) && !is_dir($dir.$file)) 
       $pm++; 
     } 
    } 
echo $pm; 
?> 
+0

Вы открываете PHP-теги внутри PHP-кода, просто соедините переменную с. –

ответ

4

Ваша строка форматирования откусил, попробуйте это:.

$dir = './berichten/' . $_SESSION['userName'] . '/'; 

Эти обозначения (<?php echo $_SESSION['userName']; ?>) обычно находятся вне PHP-кода, например HTML. Вам не нужно открывать PHP-теги или эхо внутри PHP-эха :)

+0

Вызов функции-члена read() для не-объекта i get as error – Johan

+0

Является 'session_start();' во всех ваших файлах? @ user3090697 и где 'read()' входит в картину? Это не в вашем опубликованном коде. Вы, очевидно, используете что-то еще с этим. –

0

Я не могу вспомнить, может ли readdir обрабатывать путь к каталогу с завершающей косой чертой. Кроме Aquillo's answer, попробуйте удалить конечную косую черту.

$dir = './berichten/' . $_SESSION['userName']; 
+0

Вызов функции-члена read() для объекта, не являющегося объектом, я получаю как ошибку – Johan

Смежные вопросы