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

0

  1. 1
https://github.com/mpak2/mpak.su/blob/master/include/mpfunc.php#L54

Новая система измерения файлов

Запостил: dm_fomenok dm_fomenok, (Updated )

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

  • Да это же известный код. Функцию выше я уже видел на говнокоде.
    Ответить
    • > известный код
      Для Мрачной CMS тут уже советовали завести отдельный раздел...
      Ответить
  • Задача со звёздочкой: а как правильно реализовать ту же функцию?
    Ответить
      • Уточнение: как сделать, чтобы имя файла генерировалось динамически и чтобы сервер отдавал заголовок Content-Disposition (этот заголовок вынуждает браузер открывать диалог сохранения файла)?
        Ответить
        • > имя файла генерировалось динамически
          Ну вот тут х.з. Мож каким-нибудь server-side редиректом с предлагаемого имени на настоящее?

          > вынуждает браузер открывать диалог сохранения файла
          Какого-нибудь application/octet-stream, которое браузер точно не откроет, в content-type недостаточно будет?
          Ответить
          • Как сделать server-side редирект? Переписывать на ходу конфиг сервера и посылать ему сигнал или рестартовать — для питухов анскильных.

            Правильный ответ спрятан где-то тут: http://govnokod.ru/16697

            Спойлер. Достаточно реализовать один из двух вариантов:
            1. Послать из пыхоскрипта серверу заголовок Χ-SendFile (для надёжности ещё и X-Accel-Redirect), чтобы файл раздал сервер, а не пыхоскрипт.
            2. Использовать расширение из пекла, а именно pecl_http, у которого как минимум две несовместимые версии.

            Да, в #16697 продемонстрировано, что CodeIgniter — не меньшее говно, чем Мрак a. k. a. CMS Жираф.

            > Какого-нибудь application/octet-stream, которое браузер точно не откроет, в content-type недостаточно будет?

            Надо тестировать.
            Ответить
        • Ну как вариант - для файла с именем fad7c23c-5561-4420-822f-85e6e9af57a7.mp3 давать ссылку в виде /downloads/fad7c23c-5561-4420-822f-85e6e9af57a7/djigurda.mp3. Ну и конфигом nginx'а отрезать от URL'а человекочитаемое имя и сувать его в Content-Disposition...
          Ответить
        • Задача со звёздочкой - как сделать то же самое, если файл валяется в каком-нибудь S3.
          Ответить
      • а вариант, когда файло хранится в блобах в субд? и когда доступ к "файлу" покрыт acl?

        пусть нжинкс дальше кеширует результат, если ему позволят, но один раз извлечь контент надо беком (апстримом для нжинкса)

        если в пыхе проблема вычитать из источника файл и отдать по http, это проблема пыхи, а не архитектуры
        Ответить
    • Задача с Роджером Хуём: как реализовать это на J?
      Ответить
  • // Читаем килобайтный блок, отдаем его в вывод и сбрасываем в буфер
    echo fread ($f, 5120);
    Ответить
  • Я человек простой: вижу mpak.su - ставлю въёбываю плюс.
    Ответить
  • Да этого говна хватит на пол года вперед каждый день постить.
    Ответить
  • imagestring($src, 1, 5, 30, (file_exists($file_name) ? "GD Error" : "HeTKapmuHku"), $tc);
    Ответить
  • eval('?>'. strtr(file_get_contents($file), array('<? die;'=>'<?', '<?php die;'=>'<?php')));
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8