Ich möchte Rechnungen zum Download bereitstellen. Derzeit verwende ich ein einfaches Nummerierungsschema (Rechnung-01.pdf, Rechnung-02.pdf usw.). Ich weiß, dass ich stattdessen Hashes verwenden könnte, um die Daten zu verschleiern.
Ist es auch möglich, PHP zu verwenden und die Rechnungen zu bedienen, indem der Benutzer nicht direkt darauf verweist?
Antworten:
Es gibt sogar ein Beispiel dafür auf php.net
Oder erweitern Sie das ein bisschen mit
quelle
Sam hat die Antwort. Legen Sie sie auch in einem Verzeichnis mit .htaccess ab:
Das verhindert direkten Zugriff, wenn sie die URL kennen. Sie können es weiterhin mit readfile () aus Ihrem PHP-Skript lesen.
quelle
Ich fand für diese ausgezeichnete Anleitung: Wie man große Dateien über PHP bedient .
Besonders nützlich ist der lighttpd-Trick - Wenn Ihr PHP zufällig unter lighhtpd ausgeführt wird, muss das Skript nur den "X-Sendfile" -Header setzen, und lighttpd liest und sendet die Datei für Sie (und es weiß genau, wie man Dateien sendet).
AKTUALISIEREN:
(Zitiert aus der NginX-Dokumentation )
quelle
Meine Funktion mit automatischer MIME-Typerkennung:
Verwendungszweck :
Achten Sie darauf, mit PHP nichts anderes zu senden (kein Echo).
quelle