"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > file_get_contents() pode ser usado para uploads de arquivos HTTP?

file_get_contents() pode ser usado para uploads de arquivos HTTP?

Publicado em 2024-11-06
Navegar:346

Can file_get_contents() be used for HTTP file uploads?

Upload de arquivos com file_get_contents() usando HTTP Stream Context

O upload de arquivos por meio de um formulário da web pode ser feito facilmente usando a extensão cURL. No entanto, também é possível realizar uploads de arquivos usando a função file_get_contents() do PHP em conjunto com o contexto de fluxo HTTP.

Multipart Content-Type

Para fazer upload de um arquivo usando file_get_contents(), é crucial definir um tipo de conteúdo "multipart/form-data". Isso especifica que a solicitação contém diversas partes, incluindo os dados do arquivo e quaisquer parâmetros associados. O delimitador usado para separar essas partes é conhecido como limite.

Construindo o corpo do conteúdo

O corpo do conteúdo deve seguir as especificações de HTTP e o cabeçalho Content-Type . Para cada arquivo que está sendo carregado, inclua as seguintes informações:

  • Limite: a string exclusiva definida anteriormente.
  • Content-Disposition: Especifica o nome do campo do formulário e o nome do arquivo original.
  • Content-Type: o tipo MIME do arquivo (por exemplo, application/zip).

Criando o conteúdo do arquivo

Usando file_get_contents(), obtenha o conteúdo do arquivo a ser carregado. Anexe-o ao corpo do conteúdo.

Definindo cabeçalhos e contexto de solicitação

Defina o cabeçalho Content-Type e crie um contexto de fluxo HTTP usando stream_context_create(). Defina o método de solicitação como POST, adicione os cabeçalhos e especifique o corpo do conteúdo.

Executando o upload

Finalmente, execute a função file_get_contents() com o URL apropriado e o contexto configurado.

Nota

Arquivos binários podem ser enviados diretamente sem codificação. HTTP oferece suporte à transferência de dados binários.

Seguindo essas etapas, você pode aproveitar file_get_contents() e o contexto de fluxo HTTP para fazer upload de arquivos para um servidor web remoto.

Declaração de lançamento Este artigo foi reimpresso em: 1729218375 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3