Кто-нибудь может дать мне пример или объяснение этого?
Ад нет! Ручное управление HTTP-соединениями - огромная боль в заднице. Более умные люди, чем мы с вами, усердно работали над созданием библиотек, которые мы могли бы использовать. Используйте один!
Я неравнодушен к Zend_Http_Client , в основном автономному компоненту в Zend Framework. Там есть инструкции прямо в документации о том, как выполнить загрузку файла.
Некоторым людям нравится PEAR's HTTP_Request2 . Хотя в руководстве нет явного примера того, как выполнить загрузку , это можно сделать с помощью метода addUpload
.
Если вы хотите что-то более низкоуровневое, вы можете использовать почти всегда существующее расширение curl , которое имеет различные варианты загрузки файлов и примеры в руководстве .
Но, пожалуйста, не пишите свое на уровне сокетов. Это полностью ненужно и приведет только к боли и ужасам.