Zum Inhalt springen

PHP fopen


Empfohlene Beiträge

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 ... :D

Hat jemand eine Idee/Tipp ???

DANKE!

Link zu diesem Kommentar
Auf anderen Seiten teilen

TIP(P) :D:

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.;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt 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.

Fachinformatiker.de, 2024 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...