Ongelma olisi että tämä ei lähetä liitetiedostoa, kaikki muut kylläkin tulevat os. en löydä virhettä, jos joku viittisi katsoa...
liite.php
<?php $path_to_file = '/liitteet'; // file upload code // it expects the inputs of type file to be named 'files[]' // it will work with an arbitrarily large number of files $files = $HTTP_POST_FILES['files']; if (!ereg("/$", $path_to_file)) $path_to_file = $path_to_file."/"; foreach ($files['name'] as $key=>$name) { if ($files['size'][$key]) { // clean up file name $name = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", str_replace("%20", "_", strtolower($name) ) ) ); $location = $path_to_file.$name; while (file_exists($location)) $location .= ".copy"; if($name > 1000000) { print "Tiedosto oli liian suuri!"; $virhe=1; } else { copy($files['tmp_name'][$key],$name); unlink($files['tmp_name'][$key]); $content .= "Uploaded File: ".$location."\n"; $thanks .= "\n<br>Lomakkeen lähetys onnistui!: $name."; } } } print "<h1>Tietojen lähetys</h1>\n"; if ($virhe != 1) { print $thanks; } else { print "Didn't work out!"; } $to = 'lahtis@mbnet.fi'; $from = 'autoreply@yourhost.www'; //Check if we have something POSTed by the form. if (isset($HTTP_POST_VARS)){ //Start with an empty body for the mail message $body = ''; //Iterate through all the POSTed variables, and add them to the message body. while (list($key, $value) = each($HTTP_POST_VARS)){ $body .= $key . ' = ' . $value . "\r\n"; } //Build up some nice From/Reply Headers $ab = "Tiedosto: http://koti.mbnet.fi/lahtis/test/anssi/hoidaposti.php".$name; $body .= $ab; $headers = "From: $from\r\n"; $headers .= "Reply-To: $from\r\n"; //Mail the message out. //Requires setting php3.ini sendmail path as per instructions $success = mail($to, "Posted " . date("m/d/Y"), $body, $headers); //Always check return codes from functions. if ($success){ echo "<B><CENTER>Kiitos, kirjaamme ilmoituksesi</CENTER></B>\n"; } else{ echo "<CENTER><B>Virhe</B>: Viestiäsi ei voitu toimittaa.<BR>Contact $from</CENTER>\n"; }
En tuota koodia sen syvällisemmin tutkinut, mutta yksi virhe osui silmiini:
$HTTP_POST_FILES['files']
Eikös tuo sisältö pitäisi lukea nykyään $_FILES-muuttujasta tyyliin:
$files = $_FILES['filunnimi'];
Ja syy siihen, että en viitsinyt lukea tuota sen enempää on se että koodia ei ole sisennetty, eikä se ole kooditagien sisässä.
EDIT: Ja nyt huomasin että antamasi koodin lopussa lukee:
lainaus:
//Requires setting php3.ini sendmail path as per instructions
Niin eikös tuo mahda tarkoittaa, että tämä sinun koodisi on php3:sta? Luulisin että sinulla on jokin php4-versio, ilmankos ei toimikaan.
kiitos. Eiköhän tuo tästä...
Aihe on jo aika vanha, joten et voi enää vastata siihen.