Abrir el archivo zip descargado crea un archivo cpgz?
Si hago el url para un archivo zip elhref
de un enlace y haga clic en el enlace, mi archivo zip se descarga y, al abrirlo, obtiene el contenido como esperaba.
Aquí está ese HTML:
<a href="http://mysite.com/uploads/my-archive.zip">download zip</a>
El problema es que me gustaría que el enlace apunte a mi aplicación para poder determinar si el usuario está autorizado para acceder a este archivo zip.
así que me gustaría que mi HTML fuera este:
<a href="/canDownload">download zip</a>
y mi PHP para el/canDownload
página:
//business logic to determine if user can download
if($yesCanDownload){
$archive='https://mysite.com/uploads/my-archive.zip';
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($archive));
header("Content-Length: ".filesize($archive));
ob_clean();
flush();
echo readfile("$archive");
}
Entonces, creo que el problema tiene que ver con laheader()
código, pero he probado un montón de cosas relacionadas con eso en base a varias sugerencias de Google y otras SO, y ninguna funciona.
Si responde mi pregunta, es probable que también pueda responder esta pregunta:Archivo comprimido con resultados PHP en archivo cpgz después de la extracción