• Час читання ~1 хв
  • 26.06.2023

Марсель Почо поділився порадою щодо використання методу HTTP-клієнта Laravel sink() для написання відповіді на файл:

Я щойно дізнався про акуратний маленький недокументований метод @laravelphp HTTP-клієнта.

Метод «раковина» дозволяє передати ім'я файлу або ресурсу. Відповідь на запит буде написана в цей файл.

Це дозволяє дуже легко завантажувати віддалені файли з додатковими заголовками pic.twitter.com/ZHHURltcfA

— Marcel Pociot 🧪 (@marcelpociot) June 20, 2023

Опція запиту на раковину також доступна в бібліотеці клієнта Guzzle HTTP, раніше save_to опція запиту:

$client->request('GET', '/stream/20', ['sink' => '/path/to/file']);

// PHP stream
$resource = \GuzzleHttp\Psr7\Utils::tryFopen('/path/to/file', 'w');
$stream = \GuzzleHttp\Psr7\Utils::streamFor($resource);
$client->request('GET', '/stream/20', ['sink' => $stream]);

Якщо ви хочете дізнатися більше про всі чудові функції, які надає клас HTTP-запитів Laravel, ознайомтеся з документацією HTTP-запитів. Джерело PendingRequest - ще один чудовий ресурс, щоб побачити, як працює HTTP-клієнт Laravel під капотом.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297