Eine Datei zippen und mit Kennwort schützen in PHP
Bin ich mit diesem code, um zip-Dateien, aber ich muss zu schützen diese Datei mit einem Passwort
$file = 'backup.sql';
$zipname = $file.'.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
ZipArchive::setPassword('123456');
//$zip->setPassword("123456");
$zip->addFile($file);
$zip->close();
wenn ich mit " $zip->setPassword ich bekomme keine Fehler, aber die Datei ist nicht geschützt und wenn ich ZipArchive::setPassword ich bekomme diese Fehlermeldung "Fatal error: Non-statische Methode, ZipArchive::setPassword() kann nicht aufgerufen werden statisch"
So, wie die zip-Datei in php mit einem Passwort schützen?
Möglich, Duplikat der Wie erstellen Sie Passwort-geschützte archive-Datei in PHP?
InformationsquelleAutor PHP User | 2016-10-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, - Erstellung von Passwort-geschützte Archive werden nicht unterstützt (Sie werden einfach erzeugt werden als nicht-geschützte Archive).
Aber, noch kann es verwendet werden, um entpacken von Passwort geschützten Archiven.
Zurück zum problem werden.
Sie können immer nur
(dies funktioniert sowohl auf Windows und unserem geliebten Linux)
Aber, wenn es nicht passt in deine Anforderungen, lass uns weiter.
Ich schlage vor, Sie verwenden DotNetZip (nur Windows), werden Sie genau dynamisch generieren AES-verschlüsselte zip-Archive von PHP.
Aber dennoch ist dies sehr schmutzige Lösung und mehr, dass nicht die Werke unter Linux.
So, obwohl PHP ist eine ausgereifte Sprache, es ist keine adäquate Methode (ohne benutzerdefinierte Erweiterung oder so ähnlich) zu erreichen, wie eine einfache Aufgabe mit reinem PHP.
Was Sie auch tun können, ist zu warten, bis PHP-7.2 werden für die Produktion zur Verfügung (cuz ZipArchive::setEncryptionName ist implementiert (Dank an Pierre und Remi)).
Aber bis dahin können Sie auch versuchen, port php_zip >= 1.14.0 PHP < 7.2, aber es gibt derzeit keine kompilierten binaries zur Verfügung, so müssen Sie diese selbst erstellen und versuchen, ob es überhaupt möglich ist (ich glaube, es ist).
p.s. Ich würde es versuchen, haben aber keine VS2015+ auf meinem PC jetzt.
InformationsquelleAutor Abraham Tugalov
PHP 7.2 erstellen Sie Passwort-geschützte zip-Datei:
InformationsquelleAutor Shahaji Deshmukh
ZipArchive::setPassword
Diese Funktion bestimmt lediglich, das ein Passwort verwendet wird, um Dekomprimieren Sie das Archiv; es schaltet sich nicht ein nicht-Passwort-geschützte ZipArchive in ein Passwort-geschützt ZipArchive.
arbeiten code:
$Datei = 'file_name_to_be_compressed.Erweiterung'
system('zip -P ZIP_PASSWORD '.$Datei.'.zip '.$Datei);
InformationsquelleAutor Sitethief
PHP ab Version 7.2 können Sie setEncryptionName zu erstellen passwortgeschützte ZIP-archive.
InformationsquelleAutor lubosdz
Wie es beschrieben ist auf der Dokumentation:
Wenn Sie möchten, zu verschlüsseln, zip-Archiv würde ich vorschlagen, dass google ein bisschen 🙂
InformationsquelleAutor TheRealVira