Считывание с конца файла

chiffa

Guest
Считывание с конца файла

Всем привет! У меня такой вопрос: как сделать считывание с конца текстового файла определённое количество символов, начиная с n-го символа. Зарание спасибо за ответ!
 

icechel

Новичок
PHP:
$fp = fsockopen ($url,80, $errno, $errstr, 30);
fputs ($fp, "HEAD $page HTTP/1.0\r\n");
fputs($fp,"User-agent: File Checker/1.0\r\n");
fputs($fp,"Host: $url:80\r\n");
fputs($fp,"Accept: */*\r\n");
fputs($fp,"\r\n");
while (!feof($fp)) {
  $txt = explode(" ",fgets($fp,256));
  if ($txt[0] == "Content-Length:") $fsize = $txt[1];
}
$range = $fsize - 128;
fclose($fp);
Это вычислили размер файла

PHP:
	$fp = fsockopen ($url,80, $errno, $errstr, 30);
	fputs ($fp, "GET /$page HTTP/1.0\r\n");
	fputs($fp,"User-agent: File Checker/1.0\r\n");
	fputs($fp,"Host: $url:80\r\n");
	fputs($fp,"Accept: */*\r\n");
	fputs($fp,"Range: bytes=$range-\r\n");
	fputs($fp,"\r\n");
	while (!feof($fp)) $txt = fgets($fp,256);
	fclose($fp);
	echo $txt;
А здесь получили конец файла размером 128 байт.
 

Demiurg

Guest
открываешь файл, отматываешь на L - n где L- длинна файла, а n - сколько надо прочитать, и читаешь n байт.
 

Demiurg

Guest
icechel
а теперь внимательно перечитай вопрос, и скажи, причем тут сокеты, http и прочее ?
 

icechel

Новичок
Demiurg
А что я что-то не по вопросу написал ?
С помощью сокетов нельзя считать с конца фала n символов ?
 

chiffa

Guest
Demiurg, в смысле "отматываешь на L - n". Извени, но я тебя не понял!
 

icechel

Новичок
Ну с винта понятно.
Но с веба-то можно.
Demiurg описал теорию.
Я описал частный случай.
 

Demiurg

Guest
chiffa
[m]fseek[/m]

icechel
ты еще напиши, как из книжки читать последнюю страницу. Будешь так же отвечать дальше, узнаешь что такое ReadOnlyTeam
 

chiffa

Guest
Demiurg, всё супер спасибо (правдо fseek) не пригодился, сделал по-другому :). Вот только проблемка одна осталась: как сделать считывание начиная с определённого символа?
 

Demiurg

Guest
> сделал по-другому
это как ? весь файл читаешь ?

>как сделать считывание начиная с определённого символа?
не понял вопроса.
 

tony2001

TeaM PHPClub
> (правдо fseek) не пригодился

>как сделать считывание начиная с определённого символа?

ты шутишь или тонко издеваешься?
 

Falc

Новичок
chiffa
>>как сделать считывание начиная с определённого символа?

А если этих определеных символов будет несколько?
 

chiffa

Guest
PHP:
$fp=fopen ("2.txt", "a+");
while (!feof($fp))
{
$order1=fgets ($fp,100);
}
fclose ($fp);
Demiurg, смотри: у меня есть файл в которм записаны к примеру "123456qwertyu". Мне надо что бы вывило только 123456. тоесть начило считывать с 7 символа (если считать с конца). Надеюсь обьяснил нормально!
 

Demiurg

Guest
>$fp=fopen ("2.txt", "a+");
>while (!feof($fp))
>{
>$order1=fgets ($fp,100);
>}
>fclose ($fp);
так делать не надо, много лишней работы.

то есть надо прочитать весь файл кроме последних семи символов ?
 

chiffa

Guest
Demiurg, можно сказать и так мне я наверное не очень правильно написал пример, вот точнее: "йцукке12345йцуке"
и должно выводить 12345
 

Breeze

goshogun
Команда форума
Партнер клуба
ну и регэкспом тогда.. последнее совпадение будет искомым..
 
Сверху