Maximale Größe eines Zip-Archivs bestimmen
bearbeitet von BastianHallo,
ein zweigeteilte Frage, ich packe derzeit "zu generierenden Dateien (pdfs)" in eine Zip-Datei und versende die per email.
Nun erhielt ich soeben die Meldung:
~~~
A message that you sent was longer than the maximum size allowed on this
system. It was not delivered to any recipients.
~~~
Heißt also, ich hätte besser mehrere Dateien daraus gemacht und mehrer Emails versendet.
Geht sowas überhaupt?
Also quasi dem php-Script mitteilen, dass es aus einer beliebigen Anzahl von Dateien eines Verzeichnisses `n` Zip-Archive mit max. `x` MB Datenmenge machen soll und diese dann anschließend in `n` Emails versenden soll??
Mein bisheriger Quellcode ist der:
~~~ PHP
$zip_name = $dir."/".$vonbis.".zip";
// Verzeichnis auslesen
$dateien = scanDir($dir);
// Neue Instanz der ZipArchive Klasse erzeugen
$zip = new ZipArchive;
// Zip-Archiv erstellen
$status = $zip->open($zip_name, ZipArchive::CREATE);
if ($status === TRUE) {
// Dateien ins Zip-Archiv einfügen
foreach ($dateien as $datei) {
if ($datei != "." && $datei != "..") {
$zip->addFile($dir."/".$datei,$datei);
}
}
// Zip-Archiv schließen
$zip->close();
}
//Klasse einbinden
require_once('./class.phpmailer.php');
//Instanz von PHPMailer bilden
$mail = new PHPMailer();
$mail->IsHTML(true);
$mail->CharSet = "ISO-8859-1";
//Absenderadresse der Email setzen
$mail->From = ...
...
...
//Eine Datei vom Server als Attachment anhängen
$mail->AddAttachment($zip_name,"meineDatei.zip");
$mail->Send();
~~~