21. Januar 200421 j Hy! Ich arbeite auf einem Windows 2000Server mit IIS5 und möchte eine eMail mit mehreren Dateianhängen verschicken. Zum Versenden nutze ich die HTMLMime Class. Eine eMail mit einem Anhang wird auch korrekt verschickt, sobald ich aber versuche mehr als einen Anhang zu verschicken, bekomme ich folgende Fehlermeldung: Warning: fopen(" c:\inetpub\wwwroot\documents\informationsmaterial\TEST_2.txt", "rb") - Invalid argument in c:\inetpub\wwwroot\include\HTML_Mail\htmlMimeMail.php on line 162 Die Datei Text_1.txt, welche in dem selben Verzeichniss liegt (mit selben Rechten wie Test_2.txt, wird ohne murren angehängt ... Es scheint immer die zweite Datei zusein die beim fopen Probleme bereitet. folgender Aufruf soll die Attachmenst anhängen: for ($j = 0;$j < count($file);$j++) { // Dateianhang $mail->addAttachment($mail->getFile($file[$j]), $my_files[$j]); echo $my_files[$j],'<br>'; } der Fehler tritt dann hier auf, beim Fopen: function getFile($filename) { $return = ''; if ($fp = fopen($filename, 'rb')) { while (!feof($fp)) { $return .= fread($fp, 1024); } fclose($fp); return $return; } else { return false; } } so langsam sehe ich den Wald vor lauter Bäumen nicht mehr ... Hat jemand eine Idee/Tipp ??? DANKE!
21. Januar 200421 j TIP(P) : Ersteinmal ist mir aufgefallen, dass deine erste Datei Text_1.txt heißt, die zweite aber Test_2.txt. Liegts vielleicht daran? Ansonsten versuche folgendes: for ($j=0; $j < count($file); $j++) { $mail->getFile( $file[$j] ); } [/PHP] Wenn das immer noch nicht funzt, dann liegt der Fehler irgendwo in der funktion getFile(). Dann solltest du mal vor der obigen Schleife das Array umdrehen [PHP] $file = array_reverse($file); und schauen, ob er diesmal wieder nur die erste nimmt. Wenn nämlich nicht, dann hat er ein Problem mit dem Dateinamen. Gruß kLeiner_HobBes P.S. ich würde an deiner Stelle foreach() anstelle von for() nehmen. Ist ein bissel besser zu lesen.
21. Januar 200421 j Autor Hoppla - da war ein Tippfehler von mir :floet: Beide Dateien heißen: TEST_*.txt und haben die selben Rechte, liegen im selben Verzeichniss etc pp ... Habe mal das array umgedreht und ... er stolpert immernoch über TEST_2.txt, TEST_1.txt wird richtig eingelesen und angehängt. Sehr seltsam, da beide Dateien gleiche Rechte und reinen TXT-Inhalt haben. Ich verstehe nicht wo da noch ein Unterschied sein könnte der ihn hindert die TEST_2.txt einzulesen.
21. Januar 200421 j lass dir das array $file doch mal mit print_r ausgeben und schau dir danach den output als quellcode an. vielleicht ist beim dateinamen/pfad irgendwas dabei, was doch nicht dabei sein sollte print_r($file); Gruß
21. Januar 200421 j Autor OK - liefert mir folgendes zurück (scheint mir korrekt) Array ( [0] => c:\inetpub\wwwroot\documents\informationsmaterial\TEST_1.txt [1] => c:\inetpub\wwwroot\documents\informationsmaterial\TEST_2.txt ) Das scheint leider der Hund nicht begraben zu liegen ...
21. Januar 200421 j Tut mir leid, da fällt mir nix konkretes mehr ein. Muss wohl doch irgendwie an der Datei liegen, denn ich hab die getFile()-Funktion mal kopiert und bei mir getestet (mit mehreren Dateien, und sie hat funktioniert). Schau nochmal genau die Dateien an oder erzeug mal test_3.txt oder sowas und schau, ob bei dieser Datei immer Fehler auftreten. Viel Erfolg
21. Januar 200421 j Autor Werde ich mal probieren ... ... irgendwie / irgendwann finde ich diesen drecks Bug Vielen Dank für deine Mühe!!!
21. Januar 200421 j Autor leider auch mit relativem Pfad kein Erfolg - selbe Fehlermeldung wie vorher
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.