Ankündigung
Einklappen
Keine Ankündigung bisher.
Warning: fread(): supplied argument is not a valid stream resource...
Einklappen
Neue Werbung 2019
Einklappen
X
-
Dann schickt es garnichts ab. Wenn ich keine Datei auswähle, kommt dann eine Fehlermeldung. Aber eigentlich ist es ja kein Fehler, weil man muss ja nicht zwingend etwas hochladen.
-
Zitat von pixelprinzessin Beitrag anzeigenWaahh jetz seh ich garnich mehr durch ^^
Einen Kommentar schreiben:
-
Waahh jetz seh ich garnich mehr durch ^^
@HPR: Das komische ist ja, es ging alles bevor ich nicht Code geändert hatte...
und deswegen ist ja die if else funktion da
PHP-Code:if(!empty($_POST['Anhang'])){
$Header .= "Datei: \n";
$Header .= "Es wurde keine Datei übergeben.";
}
else {
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "\n";
$Header .= "--$Trenner--";
}
LG Denise
Einen Kommentar schreiben:
-
Erstmal der Teil, der Dich vermutlich nicht interessiert: Es wäre so viel einfacher, wenn Du eine fertige, funktionierende Email-Klasse nehmen würdest. Mir wurde neulich swiftmailer als Ersatz für phpmailer gezeigt und ich finde es bisher super.
Wenn sich fread() über das Filehandle beschwert, dann ist wohl fopen() fehlgeschlagen. Du kannst das eh einfacher mit file_get_contents() lösen.
Aber insgesamt solltest Du erstmal die Werte von $_FILES abtesten. Der Upload kann auch schief gehen.PHP-Code:if(empty($_REQUEST['strasse']) || empty($_REQUEST['plzort']))
{
$fehler['strasse'] = "Bitte geben Sie Ihre gesamte Adresse an!";
}
if (!isset($_FILES['Anhang']))
{
$fehler[] = 'kein upload';
}
else if($_FILES['Anhang']['error']!=0)
{
$fehler[] = 'Fehler beim Upload. #'.$_FILES['Anhang']['error'];
}
else if(!is_readable($_FILES['Anhang']['tmp_name']))
{
$fehler[] = 'temporäre Datei kann nicht eingelesen werden';
}
if(count($fehler)>0)
{
foreach ($fehler as $msg)
{
echo "<p align=\"center\">$msg";
}
echo "<br /><br /><b><a href=\"javascript:history.back();\">zurück</a></b></p>";
}
else
{
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = file_get_contents($_FILES['Anhang']['tmp_name']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "\n";
$Header .= "--$Trenner--";
}
Einen Kommentar schreiben:
-
if(is_uploaded_file() ist dein Freund hier:
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
Einen Kommentar schreiben:
-
was erwartest Du denn von fopen wenn Du keine Datei übergibst...
Einen Kommentar schreiben:
Einen Kommentar schreiben: