Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помощь php

[РЕШЕНО]
Статус пользователя Vitalijkee
сообщение 18.1.2016, 15:47
Сообщение #1


Стаж: 11 лет

Сообщений: 92
Благодарностей: 17
Полезность: 143

Привет всем ! есть вот такой скриптик
Код:

<?php

$filename = 'File.txt ';

$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);


echo '<pre id="ct">'.$contents.'</pre>' ;


?>

Есть такая проблема функция fread читает только 8192 байт если я не ошибаюсь из этого напрашивается вопрос как прочитать файл целиком любого размера?

Отредактировал: XyLiGaN, - 18.1.2016, 16:30
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
umprex
сообщение 18.1.2016, 16:52
Сообщение #2


Иконка группы

Стаж: 16 лет
Город: Киев

Сообщений: 2909
Благодарностей: 4781
Полезность: 2197

Vitalijkee, попробуйте file_get_contents()


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2016, 17:26
Сообщение #3
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Vitalijkee,

Пример №1:
linda dot collins at mailinator dot com

Цитата
A fast implementation that determines actual file size of large files (>2GB) on 32-bit PHP:

Код
function RealFileSize($fp)
{
    $pos = 0;
    $size = 1073741824;
    fseek($fp, 0, SEEK_SET);
    while ($size > 1)
    {
        fseek($fp, $size, SEEK_CUR);

        if (fgetc($fp) === false)
        {
            fseek($fp, -$size, SEEK_CUR);
            $size = (int)($size / 2);
        }
        else
        {
            fseek($fp, -1, SEEK_CUR);
            $pos += $size;
        }
    }

    while (fgetc($fp) !== false)  $pos++;

    return $pos;
}


Input is an open file handle. Return value is an integer for file sizes < 4GB, floating-point otherwise.


Пример №2:
webmaster at eclipse org

Цитата
On 64-bit platforms, this seems quite reliable for getting the filesize of files > 4GB

Код
<?php
$a = fopen($filename, 'r');
fseek($a, 0, SEEK_END);
$filesize = ftell($a);
fclose($a);
?>


P.S. - Полистай ниже, там достаточно хороших примеров решения твоего вопроса.

Отредактировал: Orty_Hart, - 18.1.2016, 17:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vitalijkee
сообщение 18.1.2016, 19:53
Сообщение #4


Стаж: 11 лет

Сообщений: 92
Благодарностей: 17
Полезность: 143

Orty_Hart,

Спасибо щас гляну результат отпишу)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vitalijkee
сообщение 8.2.2016, 14:35
Сообщение #5


Стаж: 11 лет

Сообщений: 92
Благодарностей: 17
Полезность: 143

Всем спасибо кто откликнулся кому понадобится то решение вот:

Код:

<?php
$filename = 'ftp://'ligin':'ip'@'pass'/cstrike/qconsole.log';
$contents = file_get_contents("$filename");
echo '<pre id="ct">'.$contents.'</pre>' ;
?>



Отредактировал: Vitalijkee, - 8.2.2016, 14:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
umprex
сообщение 8.2.2016, 15:25
Сообщение #6


Иконка группы

Стаж: 16 лет
Город: Киев

Сообщений: 2909
Благодарностей: 4781
Полезность: 2197

Vitalijkee, попробуйте перед echo
Код
$contents = str_replace( "\r", "<br />", $contents );

Поможет нормально новые строки вывести в браузере.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: