[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Способ определить объем файла и сосчитать его
IDen
Здравствуйте,

Вот, как ламер, реализую новости на своем сайте. Есть страница, которая считывает из указанной папки 5 файлов. Но не просто считывает, а смотрит в каждый файл, а потом я сравниваю, пустой он или нет.

$q=1;
$bol=0;
$nol=0;
while($q<6)
{
$w=file('news/'.$q.'.new');
if($w[0]!=="")
{
$bol++;
}
else
{
$nol++;
}
$q++;
}
echo $bol;


Почему-то, вне зависимости от того, пустой он или нет, она мне выдает в итоге 5. Хотя из 5 пустых 3. Что я не так делаю? И подскажите, может есть способ сделать проще новостной блок?



Спустя 1 час, 48 минут, 17 секунд (5.02.2011 - 12:38) LRCenter написал(а):
Тогда уж так проверяйте лучше:

if(filesize("Сюда файлик") != 0){}


А вообще, что это за странный оператор у вас?

!==

Спустя 9 часов, 3 минуты, 26 секунд (5.02.2011 - 21:41) IDen написал(а):
Э...

Разве это не проверяется в услвоии "если файл НЕ ПУСТОЙ" ?

Спустя 9 минут, 8 секунд (5.02.2011 - 21:50) WTFTW написал(а):
$q=1;
$bol=0;
$nol=0;
while($q<6)
{
if($w = @file('news/'.$q.'.new'))
{
$bol++;
}
else
{
$nol++;
}
$q++;
}
echo $bol;

вроде так должно быть :)

Спустя 28 минут, 15 секунд (5.02.2011 - 22:18) IDen написал(а):
WTFTW
Работает!!!

Но почему именно так? В данном случае у нас ведь переменная $w пустая, а мы ее сразу сравниваем

Спустя 3 минуты, 38 секунд (5.02.2011 - 22:22) sergeiss написал(а):
Сам по себе способ определения совершенно неправильный!!! Время выполнения скрипта очень зависит от объема файла. Представь, что у тебя файлы по 1 МБ каждый... И что - надо будет ПРОСТО ТАК прочитать 5 мегов? По-другому надо оценивать.

PS. Есть специальная функция, которая сразу же выдает размер файла smile.gif

Спустя 4 минуты, 53 секунды (5.02.2011 - 22:27) WTFTW написал(а):
IDen потому что результат функции file возращается в перерменную $w которая проверяется условием на установленное значение, в итоге получается, что условия буден верным если что то будет возвращено из файла.
как заметил sergeiss будет логично сначала узнать существует ли файл. сделать это можно двумя функциями is_file, file_exists.

Спустя 12 минут, 15 секунд (5.02.2011 - 22:39) IDen написал(а):
Ребята!!! Спасибо!!!

Тему можно удалить, чтоб не засорять форум

Спустя 9 часов, 4 минуты, 30 секунд (6.02.2011 - 07:44) LRCenter написал(а):
sergeiss
Я и говорю IDen-у что не рационально.
И предлагаю filesize-ом определять.

WTFTW
Наличие фала не показатель - лучше размер проверить.

Спустя 2 часа, 11 минут, 10 секунд (6.02.2011 - 09:55) IDen написал(а):
LRCenter
Теперь я использую предложенный Вами вариант!!! Спасибо!!!

Спустя 1 час, 29 минут, 55 секунд (6.02.2011 - 11:25) sergeiss написал(а):
Цитата (LRCenter @ 6.02.2011 - 08:44)
Я и говорю IDen-у что не рационально.
И предлагаю filesize-ом определять.

Сорри smile.gif Как раз это и не заметил wink.gif "Дело было вечером..."
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.