PHP и с чем его едят....

serg_pet

New Member
Функция sizeof() вычисляет КОЛИЧЕСТВО элементов в массиве. Это алиас от функции count. ( ) Может тебе нужна функция
int filesize ( string $filename )
 
A

AkeL.php

Guest
Мне нужно подсчитать количество символов в файле
 

Dre.hz

Active Member
Отказывается работать функция sizeof()
PHP:
$file=fopen("ip.txt", "r");
$r=Sizeof($file);
print_r($r);
Так выводи почему-то 1
PHP:
for ($n=1; $n < Sizeof($file); $n++){
$line = fgets($file, $n);
print_r("$line\n");
}
Так не выводит ничего.
А здесь ошибка. Имей в виду, что переменная $file это не содержимое файла, а указатель на открытый файл. Поэтому sizeof($file) это глупость. Можешь из дебагерских соображений сделать print_r($file).
 
A

AkeL.php

Guest
Ага, понял ошибку. Значит считаю файл в переменную с помощью функции file_get_contents() и определю количество символов с помощью функции count()...
 

UFO.cz

Far away from home
Ага, понял ошибку. Значит считаю файл в переменную с помощью функции file_get_contents() и определю количество символов с помощью функции count()...
А тебе не кажется, что filesize быстрее работает? Ребята, когда в проекте 100 строк кода и 10 посетителей об оптимизации можно не сильно задумываться (хотя это порочная практика). Но когда там будет 10000 строк и 1000 посетителей - будете рвать на голове волосы.

P.S. Функцией count, равно как и алиасом sizeof длину строки не определишь. Ибо она вернёт значение 1 и всё тут. Предназначены они только для массивов. Длина строки определяется при помощи strlen(). Но определять размер файла так - это называется делать "через ухо".

P.S. В мане все ответы на эти вопросы находятся за время от 10 до 60 секунд. Учитесь им пользоваться.
 

quant

yeah
а что возвращяет filesize() ? размер в байтах ? так разве это и не будет количеством символом ?
 

FEOFAN

http://feofan.com
А что именно возвращает filesize можно узнать на php.net
 
Зверху