| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Чтение из файла |
| Автор: Гость_Андрей 28.10.2003, 12:56 | ||
| Мне надо начать читать файл с 2 строки, как это сделать Файл:
|
| Автор: Dr.Death 28.10.2003, 13:01 |
| $lines=file("test.txt"); for($i=1;$i<count($lines);$i++) { print $lines[$i]; } |
| Автор: IZ@TOP 28.10.2003, 13:01 |
| $line = file('file.txt'); // Загоняем в массив строки из файла с данными И читаем for( $i = 1; $i < count($line); $i++ ) { //Делаем то что надо ... } |
| Автор: Solid 3.11.2003, 20:10 | ||
| Это слишком медленный метод ;) Лучше всего:
|
| Автор: IZ@TOP 4.11.2003, 08:59 | ||
Solid, интересный код
|
| Автор: Solid 4.11.2003, 18:05 |
| Ну не знаю, не знаю. В C/С++ это может быть ещё и имеет разницу (while и for), а вот в в php, помоему, уже разница некакая. Хотя может быть, может быть. |
| Автор: IZ@TOP 4.11.2003, 18:15 |
| Может быть! Я конечно не тестировал, но пишут что while намного быстрее. |
| Автор: arial 4.11.2003, 18:33 |
| Ну и как вариант предлагаю использовать не \r\n, а только \n. Не часто найдешь счастливца с WIN. |
| Автор: Гость_Андрей 4.11.2003, 19:07 |
| Спасибо |
| Автор: IZ@TOP 4.11.2003, 19:40 |
| arial, http://www.mp3.ru - счастливец с WIN |
| Автор: Secandr 5.11.2003, 08:29 |
| В пхп есть разница меэду for, while, foreach. Но заметно это на больших массивах. P.S. Ещё join можно использовать |
| Автор: IZ@TOP 5.11.2003, 08:41 |
| Secandr, join это для соединения массива в одну строку? Вроде ... |
| Автор: Secandr 5.11.2003, 08:47 | ||
|
| Автор: IZ@TOP 5.11.2003, 11:14 |
| Secandr, explode( SEPARATOR, string ) разбивает строку string на массив. Пример: Строка - $string = "name|password|mail "; Separator $sep = "|"; $l = explode( $sep, $string ); Выходной массив $l = array( 0=>"name", 1=>"password", 2=>"mail" ); Вот такая вот функция, работает намного быстрее split'a. Советую в любых случаях где она может быть применима использовать именно ее. |
| Автор: Гость_Андрей 5.11.2003, 20:33 | ||
|
| Автор: Unregistered 5.11.2003, 20:35 | ||
А если у на файл
Да, именно такой, я не ошибся, первая строка не подходит по правилам, но надо читать со строчки вас|1. Как быть в таком случае |
| Автор: Secandr 5.11.2003, 20:45 |
| удали первую строку из массива. Только боюсь опять с perl'oм попутать. Iz@top>> Спасибо за коментарий. |
| Автор: Crot 3.2.2004, 15:55 |
| Хочу узнать. Возможно ли чтение из двоичного файла переменной типа double? Если да, то как это сделать? |
| Автор: Vaulter 3.2.2004, 17:12 |
| split это аналог explode но для регулярных выражений...;) |
| Автор: Sardar 3.2.2004, 21:24 | ||
Crot
built-in средствами нельзя, но можно: 1) использовать (un)serialize() - для (де)сериализации и записи/чтения их в/из файл(а) стандартным для PHP способом 2) найти плагин реализующий эти функции, твой код станет не переносимым. |
| Автор: Crot 4.2.2004, 11:24 | ||
| Что-то я не понял... :( Я, конечно, хочу чтобы код был переносимым. Приведите, пожалуйста, пример того, как это сделать. Вот, допустим дан некоторый файл,
в котором я должен пропустить 3 байта и, затем, считать 8 байтов в переменную $d, представляющую число типа double. Как это реализовать? |
| Автор: Sardar 4.2.2004, 19:49 |
| PHP не работает с бинарным представлением double. Вместо этого можно: - переписать прогу так, что бы она писала/читала double в виде строки: 0.123, PHP сам обратит строку в double(можно через doubleval()). - можно самому прочесть 11 битов экспоненты и 52 бита мантиссы, умножить мантиссу на 2 в степени экспоненты. Если все еще есть желание то http://www.delphikingdom.ru/asp/viewitem.asp?UrlItem=/helloworld/reals.htm. |