Zum Inhalt springen

Email Anhang speichern problem [PHP]


Empfohlene Beiträge

Hallo

ich arbeite im mom an ein TicketSystem womit man Emails leichter verwalten kann. In diesen System soll es auch möglich sein anhänge zu versenden die dann auf den Server gespeichert werden.

Diese Anhänge sollen alle Archiviert gespeichert werden nicht das jemand php Daten versendet und die dann irgendwie auf den Server ausführt.

Nun kommt mein Problem.

Hier das ist der Code mit den ich den Anhang speichere (habe nur die stelle wo es gespeichert wird raus genommen da das ganze Script mehrere hundert Zeilen groß ist)


$fileName = $email_Id . "_". $part->dparameters[0]->value.".zip";




// Filetype (exe,jpg,gif etc..)
$fileType = $this->filetypes($part->type);

// Get the attachment stream
$stream = imap_fetchbody($this->link, $msgno, $fpos);

// Get the filestream
$fileStream = $this->getdecodevalue($stream, $part->type);

$filePath = $dateipfad . $this->anmelde_id;

$data = $fileStream;

$gzdata = gzencode($data, 1);
$fp = fopen($filePath . "/" . $fileName, "w+");
fwrite($fp, $gzdata);
fclose($fp);
$fpos += 1;[/php]

Direkt nach diesen Speicher verfahren wird ein SQL Query ausgeführt der einen verweis zum Anhang nochmal in der Datenbank speichert.

Allerdings tritt manchmal der Fehler auf das der die Anhänge nicht speichert. In der Datenbank wird der verweis eingetragen zur Datei aber die Datei ist in den Verzeichnis nicht zu finden. Der hat das irgendwie nicht gespeichert. Nachdem ich die Email dann lösche und erneut runterlade hat der den Anhang dann auch richtig gespeichert.

Also er speichert den Anhang manchmal erst nach den 2 Downloaden der Email. Warum? Wisst ihr was ich falsch mache?

Ach und manchmal tritt auch bei manchen Leuten das Problem auf das die das Verzeichnis nicht öffnen können. Da kommt der Fehler "Unerwartetes Archiv Ende" Aber das komische daran ist das sobald man es an einen Anderen PC öffnen will es klappt. Ich dachte vll. wurde die Datei nicht richtig gedownloaded und der hat abgebrochen mitten drin oder so. Aber die beiden Dateien von den 2 PCs sind identisch groß und nach mehrfachen downloaden auf den Rechner konnte die Datei immer noch nicht geöffnet werden.

Ich verstehe nicht warum das nicht klappt...

Könnt ihr mir vll. helfen?

Danke im voraus

Mit freundlichen Grüßen

Mike1990

Link zu diesem Kommentar
Auf anderen Seiten teilen

irgendwie fehlt mir der grosse zusammenhang. also du erstellst einen gzip-stream und speicherst ihn in einer .zip-datei, und irgendjemand lädt sich diesen dann irgendwo herunter (vermutlich von einer mit PHP-generiertenn intranetseite). wie (sprich, womit) öffnen denn die user das zip-file? was läuft auf den clients? irgendwie bin ich mir auch nicht sicher, ob .zip die richtige erweiterung für GZIP ist (ich hätte da eher .gz genommen, auch wenns prinzipiell egal wäre), aber GZIP ist GZIP und gehört nicht als ZIP getarnt.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Deine Meinung

Schreibe jetzt und erstelle anschließend ein Benutzerkonto. Wenn Du ein Benutzerkonto hast, melde Dich bitte an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

Fachinformatiker.de, 2021 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung