Esta questão busca uma maneira eficiente de recuperar um arquivo de um servidor FTP e enviá-lo diretamente para o navegador do usuário , ignorando o armazenamento local e os redirecionamentos.
A função PHP fornecida, getFtpFileContents, busca o arquivo na memória, mas requer etapas manuais subsequentes para enviá-lo ao navegador. Para eliminar a necessidade de armazenamento intermediário, basta remover o código de buffer de saída:
ftp_get($conn_id, "php://output", $file, FTP_BINARY);
If você deseja incluir o cabeçalho Content-Length, é necessário consultar primeiro o tamanho do arquivo:
$size = ftp_size($conn_id, $file_path);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . basename($file_path));
header("Content-Length: $size");
ftp_get($conn_id, "php://output", $file_path, FTP_BINARY);
Lembre-se de incorporar o tratamento de erros em seu código para uma operação robusta.
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