Помогите устранить ошибку

Тема в разделе "Как сделать...", создана пользователем OREON, 14 фев 2013.

  1. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Есть скрипт

    Ошибка
    Строка № 13
    Код:
    $size=filesize("visitors.txt");
    Почему непаказывает размер файла visitors.txt ? и как реализовать например чтобы файл этот весил например 2 м а все старые записи удалялись,тоесть чтобы файл не превышал 2 мб
     
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.728
    Симпатии:
    2.105
    так if только для одной строки и работает, последующие строки будут выполнятся независимо от того существует ли файл и есть ли у него права на запись.

    ну и там не ошибка, а предупреждение ;)
     
  3. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    Перейти по ссылке намекает:
    1) Be aware to use this function on files/dirs which are NOT writeable: you will get a warning like:
    Warning: filesize() [function.filesize]: stat failed for /var/www/xxx/yyy.php in /var/www/xxx/yyy.php on line 123

    2) Warning: filesize() [function.filesize]: stat failed for (...)
    $path='example.txt';
    try filesize('./'.$path) instead of filesize($path)
    it worked for me

    А еще можно Перейти по ссылке заменить filesize
    PHP:
    exec( ( 'du -b "'.__Directory__.escapeshellcmd$curFolder ).'/"*'), $filenames );
    foreach( 
    $filenames as $key => $val )
    {
    $size substr$val0strpos$val'/' ) );
    $filename substr$valstrpos$val__Directory__ ) + strlen(__Directory__) );
    $filenames[$filename] = $size;
    unset( 
    $filenames[$key] );
    }
    print_r$filenames ); 
     
    Шумадан нравится это.
  4. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    Действительно, проверил - если файла нет, то пишет
    , если есть - пишет
     
  5. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Незнаю( Перепробывал все ваши версии и у меня почемуто еще больше ошибок стало вылазить,поэтому проще я думаю дописать в первом посту скрипт,чем поновой создавать велосепед.Есть еще предложение по тому предупреждение?
     
  6. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    А был ли мальчик? Ну то есть файл-то вообще существует в папке? )
     
  7. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Файл находится в папке log/visitors.txt сам скрипт просмотра тот что вверху в папке админ,но несмотря на все это безобразие, я ложил файл visitors.txt и в одну папку со скриптом ,путь указывал по разному и полностью до файла Перейти по ссылке и просто log/visitors.txt ,и результат один и тотже
     
  8. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.728
    Симпатии:
    2.105
    у тебя ж проверка неверная была, if без { ... } блока. исправь её для начала. а filesize умеет работать с URI?
    Перейти по ссылке
     
  9. OREON

    OREON

    Регистр.:
    18 янв 2009
    Сообщения:
    376
    Симпатии:
    66
    Почемуто не хочет работать без блока
     
  10. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.728
    Симпатии:
    2.105
    Код:
    <?php
    /*powered by Pron pronweb@gmail.com*/
    if(is_writable("visitors.txt"))
    { echo("У нас есть права на запись в visitors.txt ");
    echo("<br>");
    echo("Размер файла visitors.txt (кб) - ");
    $size=filesize("visitors.txt");
    $count=$size/1024;
    echo($count);
    echo("<hr>");
    include("visitors.txt");
    };
    ?>
    а так? файл визиторз должен быть рядом (в той же папке) с файлом, где код (это для простоты)