Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Реализация аналога file в PHP   Найти похожие ветки 

 
Piter ©   (2005-06-05 02:57) [0]

Есть замечательная функция file в PHP, но она работает без блокировки. Хотелось бы написать ее аналог, но с блокировкой. Даже лучше так - передаешь ссылку на открытый файл, а функция возвращает массив строк. Я придумал очень просто:

function get_file($handle) {

fseek($handle, 0);  
$contents = fread($handle, filesize($handle));
return explode("\n", $contents);

};


насколько такой код приемлим? Не будет ли он проигрывать по времени функции file?


 
dr Tr0jan ©   (2005-06-05 06:59) [1]

file() Все равно будет быстрее работать, т.к. она написана на C


 
Piter ©   (2005-06-05 12:14) [2]

А fread на чем написана?


 
Piter ©   (2005-06-05 12:50) [3]

Кстати, подскажите... Если я сначала заблокирую файл flock, а потом в том же скрипте начну открывать fopen(..., "a") - То что вернет этот fopen?


 
dr Tr0jan ©   (2005-06-05 13:38) [4]

> А fread на чем написана?
Тоже на C, но реализация функции file отличается от реализации fread.


 
Piter ©   (2005-06-05 15:21) [5]

Ну и. Реализация fread медленнее, чем реализация file? Что-то не верится...


 
dr Tr0jan ©   (2005-06-05 15:47) [6]

Нет, просто в реализации file не используется реализация fread, а только часть этого кода.


 
Piter ©   (2005-06-05 16:01) [7]

fread просто читает байты из файла... что может быть оптимальнее?

P.S. И вообще, давайте вернемся к сабж :)
Как сделать аналог file?


 
Piter ©   (2005-06-05 16:05) [8]

А почему там дата неправильная - от 29/03/05 ?


 
Piter ©   (2005-06-05 16:05) [9]

сори, это не сюда :)



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.07 c
1-1117442139
Avals-Z
2005-05-30 12:35
2005.06.29
Работа с динамически созданными объектами


3-1116233429
Zhekson
2005-05-16 12:50
2005.06.29
установка программы с базой данных (Install Shield Express)


3-1115878600
leonidus
2005-05-12 10:16
2005.06.29
Глюк базы dBase если поле пустое


4-1115562724
4dept
2005-05-08 18:32
2005.06.29
Как расшарить папку только на чтение в NT


14-1117053391
Санёк
2005-05-26 00:36
2005.06.29
Блок-схема программы.