Filen som du försöker öppna med fopen() är en array, så därför verkar det inte gå. Vad är sen rb som du väljer att öppna filen med dessa rättigheter? Det kanske finns, kan ju vara så att jag har missat det, men testa att bara använda r.
Tja
Jag får inte det här att stämma, exemplet är taget från PHP-programmering med Viktor Jonsson. Jag var tvungen att ändra lite på det för att det skulle funka utan register_globals...
Det mest irriterande är att if-satsen körs oavsett ifall jag laddat upp någonting i fältet bilaga eller inte...
Sen så får jag följande felmeddelande:
Warning: fopen("Array", "rb") - No such file or directory in c:\rootwww\mime.php on line 45
Warning: stat failed for 0 (errno=2 - No such file or directory) in c:\rootwww\mime.php on line 46
Warning: Supplied argument is not a valid File-Handle resource in c:\rootwww\mime.php on line 46
Warning: Supplied argument is not a valid File-Handle resource in c:\rootwww\mime.php on line 48
Det är för övrigt så mycket fel med det här att jag tror jag frågar er om ni har någon egen lösning på hur man skickar e-post med bifogade binära/text filer genom PHP's mailfunktioner. Är detta svårt????????????
<?php
} else {
$namn = $_POST["namn"];
$epost = $_POST["epost"];
$epost_kropp = $_POST["text"];
$amne = $_POST["amne"];
$till = "pha598m@tninet.se";
$bilaga = $_FILES["bilaga"];
$bilagan = $_FILES["bilaga"]["name"];
$bilagat = $_FILES["bilaga"]["type"];
$bilagas = $_FILES["bilaga"]["size"];
$fran = $namn."<".$epost.">";
$postrubriker = "From: $fran\n";
$postrubriker .= "Reply-To: $fran\n";
if(isset($bilaga)) {
$fil = fopen($bilaga,"rb");
$data = fread($fil, filesize($bilagas));
$kodad_bilaga = chunk_split(base64_encode($data));
fclose($fil);
$postrubriker .= "MIME-version: 1.0\n";
$postrubriker .= "Content-type: multipart/mixed; ";
$postrubriker .= "Boundary=\"Message-Boundary\"\n";
$postrubriker .= "Content-Transfer-Encoding: 7bit\n";
$epost_top = "--Message-Boundary\n";
$epost_top .= "Content-type: text/plain; charset=iso-8859-1\n";
$epost_top .= "Content-Transfer-Encoding: 8bit\n";
$epost_kropp = $epost_top . $epost_kropp;
$epost_kropp .= "\n\n--Message-Boundary\n";
$epost_kropp .= "Content-type: $bilagat; name=\"$bilagan\"\n";
$epost_kropp .= "Content-Transfer-Encoding: Base64\n";
$epost_kropp .= "Content-disposition: filename=\"$bilagan\"\n\n";
$epost_kropp .= "$kodad_bilaga\n";
$epost_kropp .= "--Message-Boundary--\n";
}
mail($till,$amne,$epost_kropp,$postrubriker);
}
?>
