Как лучше всего определить что файл пустой?

vladax

Новичок
Как лучше всего определить что файл пустой?

Как лучше всего определить что файл пустой? Однако в нем могут быть пробелы и \n, но необязательно!
 

vladax

Новичок
Что емпти?
Ты имеешь ввиду
$f=file("somefile.dat");
if (empty($f)){}

или нет?
 

R`oo`T

Guest
Просто сути не понял. Если файл пустой - то в нём ничего нет.

Поэтому если емпти - то пусто. Если тебе надо убрать все \n и пробелы, то на ум мне приходит trim(), а потом уже empty().

:)

Задачи не понимаю.
 

vladax

Новичок
trim() убирает пробелы из строки, а емпти разве можно применять к файлу?
 

Crazy

Developer
Верный ответ содержит второе сообщение: IMHO, regexp достаточно эффективен, если попросить найти первый непробельный символ...
 

vladax

Новичок
Ну так что придется строки читать?
Кто предложит лучший вариант?
 

vladax

Новичок
Уже сил нет что-либо писать...
Ладно, пошёл я баиньки! Завтра может чё-нить накорябаю...
 

vladax

Новичок
У Вас там в Таллине какое щас время суток? Утро... день...? Вот и напиши тогда! А я пошел спать!
 

ForJest

- свежая кровь
$empty1 = strlen(trim($filecontents, "\n\r "));
$empty2 = preg_match("~[^\n\r\s]~s", $filecontents);
echo $empty1?"Empty":"Not Empty";
echo $empty2?"Empty":"Not Empty";
 

RomikChef

Guest
я думаю, что дополнительный параметр в trim не нужен.
и это самый простой и эффективный способ "проверить файл на пустоту".
предвартельно считав его в переменную, разумеется.

$filename = "/usr/local/something.txt";
$handle = fopen ($filename, "r");
if(!trim(fread ($handle, filesize ($filename))) echo "Empty!";
fclose ($handle);
 

vladax

Новичок
Всем доброе утро!
Я, честно говоря, вчера так и сделал:
Считал fread'ом в переменную, потом trim'ом проверял.

Вообщем, так же как и с проверкой текстарии на пустоту, тока без фрид() разумеется.

ЗЫ: Дурацкая появилась привычка - подкреплять своё мнение высказываниями посетителей форума на PHPClub.ru
 
Сверху