Moin zusammen
bin in PHP leider noch nicht allzu fit, daher meine Frage, wie schaff ich es, im folgenden Uploadscript eine automatische Mailbenachrichtigung zu versenden, die den Empfänger darüber informiert, das jemand Dateien hochgeladen hat?
<?PHP
$MD='./'; // Path to the upload directory: Default is the script directory
$MDurl='./'; //URL to the upload directory: Default is the script directory
$exten=' .jpg .gif .png .bmp .jepg .tif';// Type of image extensions allowed
// 1= ON, 0 = OFF
$show_when_upload_link=1; // Show uploaded file as a text link
$show_when_upload_image=1;// Show uploaded file as an image link
$show_upload_status=1; // Show uploaded file status i.e. "No file entered in field X";
$show_upload_status_errors=1; // Show reason if file upload fails
$show_when_upload_image_as_thumb=1;// if jpg or png show image as thumbnail, requires $show_when_upload_image=1;
$show_text_fields=1;// show the form names and values of any other fields
$IMAGE=0;
while(list($k,$val)= each($_POST)){
// go through all the posted variables and assign the values to the field name
$postnames[]=$k;// store the field names in an array
${$k}=$val;
}
$remember_place=0;
$success=0;
while(list($key,$v)= each($_FILES)){
// go through all the upload fields
$file_name = $_FILES[$key]['name'];// assign the file name to a variable.
$true_name = str_replace(" ","_",$file_name);// change spaces to _.
$file_name = str_replace("%20","",$true_name);// change URL encoded space to nospace.
if($_FILES[$key]['error']==0){// If file status is 0 the file has been uploaded
$dot_is = strrpos("$file_name",'.');//find the last . in the file name
$ext = substr("$file_name", $dot_is);// extract everthing from the dot to the eof and place in $ext
if($ext !='' AND preg_match("/$ext/i",$exten)){// if it has an extension and the ext is found in $exten .... cont.
// Below is the normal upload processing line I prefer the other method.
//if (move_uploaded_file($_FILES[$key]['tmp_name'], "$MD$file_name")) {
if (is_uploaded_file($_FILES[$key]['tmp_name'])){ //Check the file was uploaded to the temp dir by a POST action
copy($_FILES[$key]['tmp_name'],"$MD$file_name");// copy the temp file to $MD and rename to $filename
unlink($_FILES[$key]['tmp_name']);// delete the temp file
$success++;
list($width,$heigth,$type,$attr)=getimagesize("$MD $file_name");// A bit of overkill to check the file type
if($type>0 and $type<17){
$IMAGE=1;// if file type returns a image set $IMAGE to 1
}
if($show_when_upload_link){// Display uploaded file as a test link
print "$file_name
";
}
if($show_when_upload_image AND $IMAGE AND preg_match("/image\/([\w-]+)/i",$_FILES[$key]['type'],$regs)){
//IF $show_when_upload_image and $IMAGE is true and double check file type is an image and store image type in $regs[1]
if($show_when_upload_image_as_thumb AND $IMAGE AND preg_match("/p?jpe?g|x-png/i",$regs[1])){
// if condictions are true and $reg[1] is a jpg or png then display as thumb
print "[img]thumbnail.php?gdoption=thumb&src=$MDurl$file_name& maxw=125[/img]
";
}else{// else display as fake thumb (width='125'
print "[img]$MDurl$file_name[/img]
";
}//end if thumb
}//end of display options
//$file_data[] = "$file_name:$file_caption";
}//END did it upload
else {
print "Possible file upload attack!\n
";// Diplay warning if anything wierd happens
}// end if else uploaded
}// end if file extenstion is found in $exten in config.php
else{
print "$key $ext Bad extention, file not uploaded.
";// display error is extension is not in $exten
}
}// end if file upload error == 0
else{
if($show_upload_status_errors){ //Else if $_FILES[$key]['error'] !=0 and if $show_upload_status_errors is true
switch ($_FILES[$key]['error']){// Display reason for failed upload
case 1: print "$key: The uploaded file exceeds the upload_max_filesize directive in php.ini. THIS IS SERVER SIDE.
";break;
case 2: print "$key: The uploaded file exceeds the MAX_FILE_SIZE directive that was specified by the site administrator.
";break;
case 3: print "$key: The uploaded file was only partially uploaded.
";break;
case 4: print "$key: No file was entered.
"; break;
default: print "$key: Unknown upload Error!
";break;
}//end switch
}// end $show_upload_status
}//end else show error ir upload error !=0
$remember_place++;
}// end $files while loop
if(!$success){// if $success is fales (=0) display no files uploaded
print "No files uploaded!
";
}
if($show_text_fields){// if $show_text_fields is true (>0) run throught the array postnames and display the field name and values.
if(isset($postnames)){
for($i=0;$i < count($postnames);$i++){
if(isset(${$postnames[$i]}) AND ${$postnames[$i]} !=''){$data=stripslashes(${$postnames[$i]});}else{$data='Blank!';}
print "Field $i:".$postnames[$i].' was '.$data.'
';
}
}
}
$send = "1";
?>
Bin über jeden Hinweis/Denkanstoss dankbar.
Gruß Anja

bin in PHP leider noch nicht allzu fit, daher meine Frage, wie schaff ich es, im folgenden Uploadscript eine automatische Mailbenachrichtigung zu versenden, die den Empfänger darüber informiert, das jemand Dateien hochgeladen hat?
<?PHP
$MD='./'; // Path to the upload directory: Default is the script directory
$MDurl='./'; //URL to the upload directory: Default is the script directory
$exten=' .jpg .gif .png .bmp .jepg .tif';// Type of image extensions allowed
// 1= ON, 0 = OFF
$show_when_upload_link=1; // Show uploaded file as a text link
$show_when_upload_image=1;// Show uploaded file as an image link
$show_upload_status=1; // Show uploaded file status i.e. "No file entered in field X";
$show_upload_status_errors=1; // Show reason if file upload fails
$show_when_upload_image_as_thumb=1;// if jpg or png show image as thumbnail, requires $show_when_upload_image=1;
$show_text_fields=1;// show the form names and values of any other fields
$IMAGE=0;
while(list($k,$val)= each($_POST)){
// go through all the posted variables and assign the values to the field name
$postnames[]=$k;// store the field names in an array
${$k}=$val;
}
$remember_place=0;
$success=0;
while(list($key,$v)= each($_FILES)){
// go through all the upload fields
$file_name = $_FILES[$key]['name'];// assign the file name to a variable.
$true_name = str_replace(" ","_",$file_name);// change spaces to _.
$file_name = str_replace("%20","",$true_name);// change URL encoded space to nospace.
if($_FILES[$key]['error']==0){// If file status is 0 the file has been uploaded
$dot_is = strrpos("$file_name",'.');//find the last . in the file name
$ext = substr("$file_name", $dot_is);// extract everthing from the dot to the eof and place in $ext
if($ext !='' AND preg_match("/$ext/i",$exten)){// if it has an extension and the ext is found in $exten .... cont.
// Below is the normal upload processing line I prefer the other method.
//if (move_uploaded_file($_FILES[$key]['tmp_name'], "$MD$file_name")) {
if (is_uploaded_file($_FILES[$key]['tmp_name'])){ //Check the file was uploaded to the temp dir by a POST action
copy($_FILES[$key]['tmp_name'],"$MD$file_name");// copy the temp file to $MD and rename to $filename
unlink($_FILES[$key]['tmp_name']);// delete the temp file
$success++;
list($width,$heigth,$type,$attr)=getimagesize("$MD $file_name");// A bit of overkill to check the file type
if($type>0 and $type<17){
$IMAGE=1;// if file type returns a image set $IMAGE to 1
}
if($show_when_upload_link){// Display uploaded file as a test link
print "$file_name
";
}
if($show_when_upload_image AND $IMAGE AND preg_match("/image\/([\w-]+)/i",$_FILES[$key]['type'],$regs)){
//IF $show_when_upload_image and $IMAGE is true and double check file type is an image and store image type in $regs[1]
if($show_when_upload_image_as_thumb AND $IMAGE AND preg_match("/p?jpe?g|x-png/i",$regs[1])){
// if condictions are true and $reg[1] is a jpg or png then display as thumb
print "[img]thumbnail.php?gdoption=thumb&src=$MDurl$file_name& maxw=125[/img]
";
}else{// else display as fake thumb (width='125'
print "[img]$MDurl$file_name[/img]
";
}//end if thumb
}//end of display options
//$file_data[] = "$file_name:$file_caption";
}//END did it upload
else {
print "Possible file upload attack!\n
";// Diplay warning if anything wierd happens
}// end if else uploaded
}// end if file extenstion is found in $exten in config.php
else{
print "$key $ext Bad extention, file not uploaded.
";// display error is extension is not in $exten
}
}// end if file upload error == 0
else{
if($show_upload_status_errors){ //Else if $_FILES[$key]['error'] !=0 and if $show_upload_status_errors is true
switch ($_FILES[$key]['error']){// Display reason for failed upload
case 1: print "$key: The uploaded file exceeds the upload_max_filesize directive in php.ini. THIS IS SERVER SIDE.
";break;
case 2: print "$key: The uploaded file exceeds the MAX_FILE_SIZE directive that was specified by the site administrator.
";break;
case 3: print "$key: The uploaded file was only partially uploaded.
";break;
case 4: print "$key: No file was entered.
"; break;
default: print "$key: Unknown upload Error!
";break;
}//end switch
}// end $show_upload_status
}//end else show error ir upload error !=0
$remember_place++;
}// end $files while loop
if(!$success){// if $success is fales (=0) display no files uploaded
print "No files uploaded!
";
}
if($show_text_fields){// if $show_text_fields is true (>0) run throught the array postnames and display the field name and values.
if(isset($postnames)){
for($i=0;$i < count($postnames);$i++){
if(isset(${$postnames[$i]}) AND ${$postnames[$i]} !=''){$data=stripslashes(${$postnames[$i]});}else{$data='Blank!';}
print "Field $i:".$postnames[$i].' was '.$data.'
';
}
}
}
$send = "1";
?>
Bin über jeden Hinweis/Denkanstoss dankbar.
Gruß Anja
Kommentar