"PHP" / Говнокод #3168 Ссылка на оригинал

0

  1. 1
$file=@implode("",file("http://www.google.com/search?&;q=site:$url&hl=en"));

Крутой аналог file_get_contents.

Запостил: mr.The mr.The, (Updated )

Комментарии (12) RSS

  • Вовсе это не аналог. оно переводы строк вырежет
    Ответить
  • // Второй пример. Получим содержание web-страницы в виде одной строки.
    // См.также описание функции file_get_contents().
    $html = implode('', file ('http://www.example.com/'));

    Выглядит, как боянчик пятилетней давности.
    Ответить
  • Видимо автор сия поста хочет миру показать пример меньше, проще и оптимизированнее?
    Тогда в студию...

    ЛикБез: никто не работал с файлами больших размеров?
    Так вот если работал, то он бы знал, что file_get_contents жрёт времени немного больше, чем file (со всеми вытекающими), и, в случае если этот код проходит значительное число итераций, то на скорости работы такое решение очень скажется...
    Ответить
      • Не, неправильно поняли 🙂
        В итерации (от 1000 шт) только одного и только другого, и не на локальном компе, а на живом сервере, чтоб Ваш коннект с инетом не влиял.

        Мой вариант, но с файлом, так вернее будет...
        <?php
        for($step = 0; $step < 10; $step++) {
            $start = microtime(true);
            $length = filesize("D:/123.zip");
            for($index =0; $index < 1000; $index++) {
                $fh = fopen("D:/123.zip", "r");
                $data = fread($fh, $length);
                fclose($fh);
            }
            $end = microtime(true);
            $file_time = $end - $start;
            echo "file time = {$file_time}<br />";
            
            $start = microtime(true);
            for($index =0; $index < 1000; $index++) {
                $data = file_get_contents("D:/123.zip");
            }
            $end = microtime(true);
            $file_get_time = $end - $start;
            echo "file_get_contents time = {$file_get_time}<br />";
        
            echo ($file_time < $file_get_time ? "file" : "file_get_contents")." won!";
            echo "<br /><br />";
        }
        ?>


        результат можно посмотреть здесь - http://ipicture.ru/upload/100507/ud3nz1OHi3.gif

        Из 10 проходов, file в скорости превосходил file_get_contents в 6 случаях.

        Но хотелось бы заметить, что на PHP5 file_get_contents работает значительно быстрее, чем на PHP4.

        PS: в любом случае, отдельно спасибо mindfreakthemon, за то, что всё тут за чистую монету не воспринимает! Побольше таких бы пользователей и поменьше с ником guest!
        Ответить
        • Такая разница обусловленна качеством связи, а не скоростью работы методов.
          Ответить
          • Тов. leprosus уточнил что тестил методы на живом сервере цитирую "чтоб Ваш коннект с инетом не влиял."
            Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8