Ao transferir arquivos usando scripts PHP para fins de segurança, o caminho absoluto dos arquivos para download muitas vezes precisa ser ocultado. No entanto, os scripts tradicionais de transferência de arquivos PHP podem não suportar downloads recuperáveis, causando transtornos para os usuários finais que enfrentam interrupções de conexão. take:
Send the Accept-Ranges: bytes header:
Este cabeçalho informa ao cliente que o conteúdo parcial é suportado.Este script primeiro verifica se uma solicitação de conteúdo parcial foi feita. Nesse caso, ele analisa o intervalo do cabeçalho Range, procura o deslocamento apropriado no arquivo e envia o intervalo de bytes solicitado. O script também define o cabeçalho Accept-Ranges para bytes e envia o código de status HTTP apropriado para conteúdo parcial, se necessário.
$filesize = filesize($file); $offset = 0; $length = $filesize; if (isset($_SERVER['HTTP_RANGE'])) { preg_match('/bytes=(\d )-(\d )?/', $_SERVER['HTTP_RANGE'], $matches); $offset = intval($matches[1]); $length = intval($matches[2]) - $offset; } $file = fopen($file, 'r'); fseek($file, $offset); $data = fread($file, $length); fclose($file); if ($offset > 0) { header('HTTP/1.1 206 Partial Content'); header('Content-Range: bytes ' . $offset . '-' . ($offset $length) . '/' . $filesize); } header('Content-Type: ' . $ctype); header('Content-Length: ' . $filesize); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Accept-Ranges: bytes'); print($data);
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