Hallo, ich habe eine uploadformular.html
und eine vionlink_upload.php
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!
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ählen: </span></span> <input name="uploadfile" type="file" /></p>
<p style="text-align: center;">
<input type="submit" value="Datei hochladen" /></p>
</form>
</body>
</html>
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ück</a><br>';
}else{
$back = '<br><a href="javascript:history.back();">zurü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!