Öffnen der heruntergeladenen zip-Datei erstellt cpgz-Datei?
Wenn ich die URL für eine Zip-Datei mache diehref
Wenn Sie auf einen Link klicken, wird meine ZIP-Datei heruntergeladen und beim Öffnen wird der erwartete Inhalt angezeigt.
Hier ist das HTML:
<a href="http://mysite.com/uploads/my-archive.zip">download zip</a>
Das Problem ist, dass der Link auf meine Anwendung verweisen soll, damit festgestellt werden kann, ob der Benutzer berechtigt ist, auf diese ZIP-Datei zuzugreifen.
Deshalb möchte ich, dass mein HTML folgendermaßen aussieht:
<a href="/canDownload">download zip</a>
und mein PHP für die/canDownload
Seite:
//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");
}
Ich denke also, das Problem hat mit dem zu tunheader()
Code, aber ich habe eine Reihe von Dingen ausprobiert, die damit zusammenhängen, basierend auf verschiedenen Google- und anderen SO-Vorschlägen, und keine funktionieren.
Wenn Sie meine Frage beantworten, können Sie wahrscheinlich auch diese Frage beantworten:Eine komprimierte Datei mit PHP führt nach dem Extrahieren zu einer cpgz-Datei