Автор Тема: Кусок текста с файла  (Прочитано 4999 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CONFIG

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://programz.com.ua
Кусок текста с файла
« : 29 Марта 2002, 16:02:17 »
Как выризать кусок текста с большого файла....
В файле всего 700000 символов.....
Как выризать кусок начиная с 567456 до 567494-го символа...
Спасибо....

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Кусок текста с файла
« Ответ #1 : 29 Марта 2002, 16:15:42 »
это с помошью fread делается
http://www.php.net/manual/en/function.fread.php
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн CONFIG

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://programz.com.ua
Кусок текста с файла
« Ответ #2 : 29 Марта 2002, 17:01:35 »
AlieN А там нет о том как в віризать кусок с файла...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Кусок текста с файла
« Ответ #3 : 29 Марта 2002, 17:14:28 »
Цитировать
А там нет о том как в віризать кусок с файла

А это ты уж сам додумать должен. fread выдаст тебе в одну переменную содеримое файла. Ну а дальше:

<?
$f fopen("txet.txt","r");
$data fread($f,filesize("txet.txt"));
echo
$data[5];
fclose($f);
?>

например.
AS IS...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Кусок текста с файла
« Ответ #4 : 29 Марта 2002, 18:50:50 »
ThE0ReTiC
А это не сильно грузить сервер будет?
Все таки 700 000 Кб.

Мой вариант:

$begin
=567456;
$end=567494;
$f fopen("txet.txt","r");
fseek($f,$begin);
$data=fread($f,$end-$begin);
fclose($f);
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Кусок текста с файла
« Ответ #5 : 29 Марта 2002, 18:56:37 »
А ты $begin и $end в байты перевел? :) для fread надо второй параметр в байтах указывать.
Цитировать

fread() reads up to length bytes from the file pointer referenced by fp.

И для fseek, кстати тоже.
AS IS...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Кусок текста с файла
« Ответ #6 : 29 Марта 2002, 21:54:15 »
Хмм..
А у меня работает (если учитывать переводы строк).
Разве один символ не равен одному байту? если да - то зачем перевод в байты, а если нет - то сколько байт занимает один символ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Артем

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
Кусок текста с файла
« Ответ #7 : 30 Марта 2002, 11:02:15 »
Цитировать
надо второй параметр в байтах указывать.

В текстовых файлах байт всегда равен одному символу (кроме файлов, созданных редакторами типа Word и т.п.)
Верить в наше время нельзя никому. Даже себе. Мне - можно.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Кусок текста с файла
« Ответ #8 : 30 Марта 2002, 16:56:03 »
Цитировать
байт всегда равен одному символу

Это если кодировка восьмибитная. :)
AS IS...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Кусок текста с файла
« Ответ #9 : 30 Марта 2002, 18:08:42 »
Цитировать
Это если кодировка восьмибитная.

Да, здесь ты прав.
А что часто в веб-программировании применяется другая?
(кроме почтовых писем в голову ничего не приходит)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Кусок текста с файла
« Ответ #10 : 30 Марта 2002, 18:13:48 »
Цитировать
что часто в веб-программировании применяется другая?

Нечасто. Однако, я бы унифицировал.
AS IS...

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Кусок текста с файла
« Ответ #11 : 30 Марта 2002, 18:27:59 »
"А в високосном байте 9 бит... "  :)

Цитировать
В текстовых файлах байт всегда равен одному символу (кроме файлов, созданных редакторами типа Word и т.п.)

без разницы, какой тип файла. Везде один символ - один байт. А вот каким образом построен формат файла - не важно.

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

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Кусок текста с файла
« Ответ #12 : 30 Марта 2002, 18:38:46 »
Цитировать
без разницы, какой тип файла.

Это unix различие  не делает. В виндах все кривее.
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28