Uploadscript Name ausgeben, wie der Upload heißt!

Noki99

Mitglied
Hallo, ich habe eine uploadformular.html
PHP:
<html>
	<head>
		<title></title>
	</head>
	<body>
		<form action="vionlink_upload.php" method="post" enctype="multipart/form-data">
			<p style="text-align: center;">
				<span style="font-family:comic sans ms,cursive;"><span style="font-size: 20px;">Zip/Rar ausw&auml;hlen:&nbsp;</span></span> <input name="uploadfile" type="file" /></p>
			<p style="text-align: center;">
				<input type="submit" value="Datei hochladen" /></p>
		</form>
	</body>
</html>
und eine vionlink_upload.php
PHP:
<?php 
##############################################################################
##############################################################################
## Konfiguration 
##############################################################################
##############################################################################


$zielordner='uploads/';    // ggf. Schreibrechte (CHMOD) erteilen! 

$upload_limitieren=0;     // m?gliche Werte 0 und 1 (aus/an)
$upload_groesse=250;      // in Kilobyte

$mailsenden=0;             // m?gliche Werte 0 und 1 (aus/an)
$emailadresse='';
$betreff='';

$captcha_verwenden=0;      // m?gliche Werte 0 und 1 (aus/an)


$ip_sperre=0;              // m?gliche Werte 0 und 1 (aus/an)
$ip_sperrzeit=10;          // in Minuten


$erlaubte_dateiendungen=array('rar','zip'); 

$erlaubte_mimetypen=array("text/plain","image/pjpg","image/pjpeg","image/gif","image/jpg","image/peng","image/jpeg","application/pdf","application/x-pdf","image/bmp","image/x-windows-bmp","image/tiff","image/x-tiff","application/plain", "application/x-photoshop","application/octet-stream","application/postscript","application/xms-word","application/mspowerpoint","application/powerpoint","application/vnd.ms-powerpoint","application/x-mspowerpoint","application/excel","application/x-excel","application/vnd.ms-excel","application/x-msexcel","application/zip","application/x-zip","application/x-compressed","application/x-zip-compressed","audio/mid","audio/mp3","application/x-winamp-plugin","interface/x-winamp-skin","audio/x-mp3");




$basisurl='';
#$basisurl='http://facebook1.bplaced.net/uploadformular.html';    
// komplette URL zum Formular



// bitte hier den Namen des oder der Formularfelder eintragen, ist 
// der Wert der Variable leer (wie bei $feldnames[2]) bleibt die 
// Variable unberuecksichtigt. 

$feldnames[0]='uploadfile';
$feldnames[1]='zweites_uploadfile';
$feldnames[2]='';


// Farbcode fuer Fehlermeldung
$fehlerfarbe='#990000';

// Farbcode fuer Erfolgsmeldung
$erfolgsfarbe='#009900';


##############################################################################
## Meldungen editieren
##############################################################################


    $e[0]="Uploadfehler: Achtung: Es dürfen nur Rar/Zip Dateien hochgeladen werden!";
$e[1]="Uploadfehler: Achtung: Es dürfen nur Rar/Zip Dateien hochgeladen werden!";
$e[2]="Uploadfehler: Der Mime-Typ der Datei ist fehlerhaft oder wird nicht unterst?tzt.";
$e[3]="Uploadfehler: Unbekannter Fehler!";

$e[5]="Der Sicherheitscode (Captcha) ist nicht korrekt";
$e[6]="Die IP-Sperre ist f?r $ip_sperrzeit Minuten aktiv.";




##############################################################################
##############################################################################

##############################################################################
##############################################################################
##
##  Ab hier nichts mehr ?ndern! Do not change anything below here!
##
##############################################################################
##############################################################################

##############################################################################
##############################################################################

##############################################################################
##############################################################################
###________________________________________________________________________###
###                                                                        ###
###            vionlink UploadS 1.2 by vision impress webdesign            ###
###              written 2008/12 by vision impress webdesign               ###
###________________________________________________________________________###
###                                                                        ###
###      (c) 	Berthold Krayer,2008/12 |   info@vision-impress.de           ###
###         vision impress webdesign  |   http://www.vision-impress.de     ###
###           Tel. +49(0)6838-981074  |   Fax. +49(0)6838-981073           ###
###                                                                        ###
###________________________________________________________________________###
###________________________________________________________________________###
##############################################################################
##############################################################################
##                                                                            
##  This Software is the property of Berthold Krayer, vision-impress          
##  webdesign and is protected by copyright law - it is NOT Freeware.         
##  Any unauthorized use of this software without a valid license is a        
##  violation of the license agreement and will be prosecuted by civil and    
##  criminal law.                                                             
##                                                                            
##  It is not allowed to remove the copyright and copyrightlinks on all the   
##  pages of this script. You have to keep all information lines and          
##  comments in the scripts.                                                  
##                                                                            
##  The code is to be used entirely at the user's own risk. No warranty is    
##  given or implied by vision-impress webdesign. The user is responsible     
##  for ensuring that the code is suitable for the environment in which it    
##  is intended to be used and accepts full responsibility for any            
##  consequences arising from its use.                                        
##                                                                            
##  A redistribution of this script, also in modified form, is not allowed    
##  without prior written consent.                                            
##                                                                            
##                                                                            
##  Diese Software ist das Eigentum von Berthold Krayer und nach dem          
##  Urheberrecht gesch?tzt - es  handelt sich NICHT um Freeware. Jede         
##  Nutzung der Software ohne eine g?ltige Lizenzvereinbarung, wird zivil-    
##  und strafrechtlich verfolgt.                                              
##                                                                            
##  Die Copyright-Verweise, die Link bei der Ausgabe und die restlichen       
##  Kommentare erhalten  bleiben. Mit dem Einsatz dieses Skripts              
##  akzeptieren Sie, da? Berthold Krayer, vision-impress webdesign von        
##  jeglicher Haftung und Gew?hrleistung hinsichtlich des Einsatzes befreit   
##  ist.                                                                      
##  Der Verkauf dieses Skripts, auch in modifizierter Form, ist ohne          
##  vorherige Absprache ausdr?cklich untersagt.                               
##                                                                            
##  Lesen Sie auch die Nutzungs- und Lizenzbedingungen, die dieser            
##  Software beiliegen.                                                       
##                                                                            
##############################################################################
##############################################################################

$datum=date("d.m.Y");
$uhrzeit=date("H:i");
$cod='';
$ausgabe='';
$ausgabe_2='';
$ausgabe_4mail='';

##############################################################################
##############################################################################


if($basisurl!=""){
$back = '<br><a href="'.$basisurl.'">zur&uuml;ck</a><br>';
}else{
$back = '<br><a href="javascript:history.back();">zur&uuml;ck</a><br>';
}

##############################################################################
##############################################################################


if($captcha_verwenden==1){

    session_start();

    if(isset($_POST['cap']))
    {
        $eingabe=mig($_POST['cap']);
        if(!isset($_SESSION['cod'])){
        $fehler=1; 
        $ausgabe='<span style="color:'.$fehlerfarbe.'">'.$e[5].'</span><br>';
        }else{
            if($eingabe=="" || $eingabe!=$_SESSION['cod']){
            $fehler=1; 
            $ausgabe='<span style="color:'.$fehlerfarbe.'">'.$e[5].'</span><br>';
            }
        }
    } 


} //endcaptchapr?fung

##############################################################################
##############################################################################


if($ip_sperre==1){

########################## 
$ip_sperrzeit_sec=$ip_sperrzeit*60; 
// Ordner ipsperre durchscannen
$oeffnevz = openDir('ipsperre');
while($filename = readDir($oeffnevz)){ 
if($filename != "." && $filename != ".."){
// datei entfernen
if(file_exists('ipsperre/'.$filename)){$tsofthefile=filemtime('ipsperre/'.$filename)+$ip_sperrzeit_sec; 
// fileatime funkt. scheinbar bei MS nicht richtig daher filemtime
if($tsofthefile<=time()){@unlink('ipsperre/'.$filename);}}}} 
##########################



$ip1=$_SERVER['REMOTE_ADDR'];
if($ip1==""){if(getenv(HTTP_X_FORWARDED_FOR)){
$ip=getenv('HTTP_X_FORWARD_FOR');}else{$ip=getenv('REMOTE_ADDR');}}

##########################

if($ip1!=""){
    // Pr?fen ob IP schon vorhanden
    if(file_exists('ipsperre/'.$ip1)){
    $fehler=1; 
    $ausgabe='<span style="color:'.$fehlerfarbe.'">'.$e[6].'</span><br>';
    }
} 
##########################
} //endipsperre


##############################################################################
##############################################################################

if(isset($fehler)){ echo $ausgabe; echo $back; exit();}

##############################################################################
##############################################################################


if(is_array($feldnames)){
    foreach($feldnames as $feldname){
        if(!empty($_FILES[$feldname]['name'])){
        
                $mime = '';    
                $endung = '';
                $endung_mp = '';
                
                if(!$_FILES[$feldname]['error']){
                
                    $mime = $_FILES[$feldname]['type'];    
                    $endung = strrchr($_FILES[$feldname]['name'],'.'); // sucht das letzte Vorkommen e. Punktes
                    $endung_mp = strtolower($endung); // Endung mit Punkt
                    $endung = str_replace(".", "", strtolower($endung)); // Punkt weg 
                       
                    $prueffehler=0;            
                    ## Pr?fung ob erlaubte Dateiendung okay geht
                    if(!in_array($endung, $erlaubte_dateiendungen)){
                    $fehler=1;
                    $prueffehler++;
                    $ausgabe.='<span style="color:'.$fehlerfarbe.'">'.$e[1].' (Datei: <b>'.$_FILES[$feldname]['name'].'</b>)</span><br>'; 
                    }
                    
                    ## Pr?fung ob erlaubter Mime okay geht
                    if(!in_array($mime, $erlaubte_mimetypen)){
                    $fehler=1;
                    $prueffehler++;
                    $ausgabe.='<span style="color:'.$fehlerfarbe.'">'.$e[2].' (Datei: <b>'.$_FILES[$feldname]['name'].'</b>)</span><br>';
                    }
                    
                    ## Pr?fung auf Dateigroesse, falls gefordert
                    if($upload_limitieren==1){ //Limitierung eingeschaltet
                    if($_FILES[$feldname]['size'] > (1000*$upload_groesse)){
                    $fehler=1;
                    $prueffehler++;
                    $ausgabe.='<span style="color:'.$fehlerfarbe.'">'.$e[0].' (Datei: <b>'.$_FILES[$feldname]['name'].'</b>)</span><br>';
                    }}                
                
                    if($prueffehler==0){$ausgabe_2.='<span style="color:'.$erfolgsfarbe.'">Upload der Datei: <b>'.$_FILES[$feldname]['name'].'</b> scheint moeglich</span><br>';}
                
                }else{
                $fehler=1;
                $ausgabe.='<span style="color:'.$fehlerfarbe.'">'.$e[3].'</span><br>'; 
                }
        }
            
    }
 
     
 // wenn Fehler, dann hier stopp machen und Fehler ausgeben  
 if(isset($fehler)){ 
     echo '<span style="color:'.$fehlerfarbe.'">Der Uploadvorgang wurde wegen einem Fehler abgebrochen</span><br>';
     echo $back; 
     exit();
 }
   
    
    
    // wenn es bishier keinen fehler gab, stimmt die dateigr und die endung und das mimetyp
    // fehlt nur noch der eigentliche Upload
   
   foreach($feldnames as $feldname){
   
       $uploadresult='';
       
       if(!empty($_FILES[$feldname]['name']) && !$_FILES[$feldname]['error']){
           $uploadresult=dotheupload($feldname, $zielordner, $e);
    
            ## das dotheupload spuckt Array aus
            ## [1]  wert 0 = Upload nicht erfoglreich   wert 1= Upload erfolgreich
            ## [2]  pfad und dateiname 
            ## [4]  Dateiendung (ohne Punkt)
            ## [5]  Original Dateiname
            ## [6]  Ziel Dateiname
          
          
           if($uploadresult[1]==0){ // Upload fehlerhaft
           $ausgabe.='<span style="color:'.$fehlerfarbe.'">Upload fehlgeschlagen: '.$uploadresult[5].'</span><br>';
           $ausgabe_4mail.='Upload fehlgeschlagen: '.$uploadresult[6]."\n\r\n\r";
           
           }else{
           $istdateioben = "ja";
           $ausgabe_4mail.='Upload erfolgreich: '.$uploadresult[6]."\n\r\n\r";
           }
       }    
}
   
   
    
           ###############################
           ## Mailsenden
           if($mailsenden==1 && $emailadresse!="" && $betreff!=""){
              
              $mailtext="
              Upload ausgef?hrt am $datum, $uhrzeit Uhr
              $ausgabe_4mail
              ";
              
              @mail($emailadresse, $betreff, $mailtext, "\nFrom: $emailadresse <vionlink uploadformular>");
 
              # manche Provider fordern aus Spamschutzgr?nden einen Zusatz (-f) im Mailbefehl. Sollte der
              # Mailversand trotz mailsenden=1 nicht funktionieren, entfernen Sie das Rautesymbol (#) vor dem 
              # folgenden Mailbefehl:
              # @mail($emailadresse, $betreff, $mailtext, "\nFrom: $emailadresse <vionlink uploadformular>","-f $emailadresse");
             
              #$mlog = @fopen('mail.txt', "w+");
              #@fwrite($mlog, $mailtext); 
              #@fclose($mlog);    
           
           } //endmailsenden
           ################################
    
              
          // IP Sperre
          
          if($ip_sperre==1){
                  $ip1=$_SERVER['REMOTE_ADDR']; 
                  if($ip1==""){
                      if(getenv(HTTP_X_FORWARDED_FOR)){
                      $ip=getenv('HTTP_X_FORWARD_FOR');
                      }else{
                      $ip=getenv('REMOTE_ADDR');
                      }
                  }
                  if($ip1!=""){
                  $nix=''; 
                  $iplog = @fopen('ipsperre/'.$ip1, "w+");
                  @fwrite($iplog, $nix); 
                  @fclose($iplog); 
                  }
              }


##############################################################################
##############################################################################

// AUSGABE
if($istdateioben == "ja") {
echo 'Upload erfolgreich: ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************?</span><br>';
};

##############################################################################
##############################################################################

} //is_array feldnames




##############################################################################
##############################################################################

##############################################################################
##############################################################################

function dotheupload($feldname, $zielpfad, $e=array()){

$endung='';
$endung_mp='';
$orginalname='';
$zielname='';
$pfile='';
$errnumbers='';
$result='';

$endung = strrchr($_FILES[$feldname]['name'],'.'); // sucht das letzte Vorkommen e. Punktes
$endung_mp = strtolower($endung); // Endung mit Punkt
$endung = str_replace(".", "", strtolower($endung)); // Punkt weg

$orginalname=$_FILES[$feldname]['name'];

$zielname=str_replace($endung_mp, "", $_FILES[$feldname]['name']);
$zielname= strtolower(preg_replace('/[^a-zA-Z0-9_.+-]/', '', $zielname)); // Sonderzeichen rausfiltern

$pfile=$zielpfad.$zielname.'.'.$endung;

## falls vorhanden, suffix dran, wieder pr?fen 
$i=0;  while(file_exists($pfile)){ $pfile=$zielpfad.$zielname.'_'.$i.'.'.$endung; $i++;} 

## uploadvorgang
@move_uploaded_file($_FILES[$feldname]['tmp_name'], $pfile);
@chmod($pfile, 0644);

## datei exisitert nicht?   
if(!file_exists($pfile)){ $fehler=1;}

## wenn Datei exitiert, aber Dateigr??e 0Byte, dann wegl?schen und ERROR ausgeben.
if(get_size($pfile)=="0" && $_FILES[$feldname]['size']!="0"){@unlink($pfile); $fehler=1;}




    // wenn bis hierher kein Fehler dann alles roger!
    if(!isset($fehler)){
    
        $result=1; 
        session_unset(); 

    }else{
    
        $result=0;
    
    }



$ergebnisse=array(
'1' => $result,
'2' => $pfile,
'4' => $endung,
'5' => $orginalname,
'6' => $zielname
);


return $ergebnisse;

} //endfunction





###############################################################################
###############################################################################

function get_size($path)
   {
       if(!is_dir($path))return @filesize($path);
       $dir = opendir($path);
       while($file = readdir($dir))
       {
           if(is_file($path."/".$file))$size+=@filesize($path."/".$file);
           if(is_dir($path."/".$file) && $file!="." && $file !="..")$size +=get_size($path."/".$file);
       }
       return $size;
   }

###############################################################################
###############################################################################

function mig($get){
$get=htmlentities(strip_tags($get)); 
$get=trim($get); 
return $get;}

###############################################################################
###############################################################################
?>

Jetzt meine Frage:

Da woe die veilen ? stehen, wie bekomm ich das hin, dass da der Name der Datei, z.B. LOL.zip steht?

Danke für die Antworten!
 
Hi

habe mir die fast 500 Codezeilen nicht detalliert angeschaut,
aber den Dateinamen bekommst du mit
$_FILES[...]['name']

Bzw. du hast das ja schon drin, musst es nur ausgeben...
 

Neue Beiträge

Zurück