con l aiuto di un libro ho fatto questo script:

form.html

<form action="phpemail.php" method="post" enctype="multipart/form-data">



<label>
oggetto:<input type="text" name="subject" />
</label>
</p>


inserisci un messaggio e premi Invio:


<textarea name="message" cols="50" rows="5"></textarea>




</p>
<label>
<input type="file" name="allegato" />
</label>


<input type="submit" value="Invio" />
</form>



phpemail.php

<?
$destinatario = "censura@censura.censura";
$messaggio = $_REQUEST["message"];
$subject = $_REQUEST["subject"];
$oggetto = $_REQUEST["allegato"];
$attachment_MIME_type = "image/jpeg";
$handle = fopen($oggetto, "rb");
$data = fread ($handle, filesize($oggetto));
fclose($handle);

$boundary = "---Multipart_Boundary---";

$headers = "n\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"" . $boundary . "\"";

$data = chunk_split(base64_encode($data));

$text = "--" . $boundary . "\n" .
"Content-Type:text/plain\nContent-Transfer-Encoding: 7bit\n\n" .
$messaggio . "\n\n--" . $boundary . "\n" .
"Content-Type: " . $attachment_MIME_type . ";\n name=\"" .
$oggetto . "\"\nContent-Transfer-Encoding: base64\n\n" .
$data . "\n\n--" . $boundary . "--\n";

$result = @mail($to, $subject, $text, $headers);
if($result) {
echo "messaggio inviato con successo";
} else {
echo "messaggio non inviato";
}
?>



mi dice:


Notice: Undefined index: allegato in c:\programmi\easyphp1-7\www\invio email\phpemail.php on line 13

Warning: fread(): supplied argument is not a valid stream resource in c:\programmi\easyphp1-7\www\invio email\phpemail.php on line 16

Warning: fclose(): supplied argument is not a valid stream resource in c:\programmi\easyphp1-7\www\invio email\phpemail.php on line 17
messaggio non inviato




le linee in questione sono:

line 13: $oggetto = $_REQUEST["allegato"];
line 16: $data = fread ($handle, filesize($oggetto));
line 17: fclose($handle);

dove sbaglio?