hochzuladene datei muss zb 123.txt heissen

Brothers

Mitglied
hallöchen liebe programmierende...

ich muss eine datei vor dem upload auf den dateinamen prüfen... wenn gleich: uppen... wenn ungleich: nicht uppen + fehler ausgeben...

code bis jetzt:

PHP:
if (move_uploaded_file($_FILES['datei']['tmp_name']) == "abc.txt"){
echo "datei erfolgreich aktualisiert!";
}

vielen dank schon mal im vorraus
 
Sowas geht mit Php nicht, aber mit Javascript, weil du die Prüfung ja Clientseitig machen willst. Beachte dabei das Javascript nicht sicher ist und du die Datei nochmal mit PHP einer Überprüfung unterziehen musst.

Hier mal ein kleines Beispiel: Habe es nicht getestet, aber sollte so richtig sein.

EDIT: Sehe gerade deine Funktion "move_uploaded_file" braucht " 2 Parameter!
PHP:
<?
$file_allowed = array('abc.txt', 'def.txt');
if (is_uploaded_file($_FILES['datei']['tmp_name'])  &&  in_array(basename($_FILES['datei']['name']), $file_allowed)){
   $path = 'Pfad zum Speicherort';
    if (move_uploaded_file($_FILES['datei']['tmp_name'], $path)){
      echo "datei erfolgreich aktualisiert!";
   }
}
// ALT
// if (move_uploaded_file($_FILES['datei']['tmp_name']) == "abc.txt"){
// echo "datei erfolgreich aktualisiert!";
// }  
?>
<script type="text/javascript" language="JavaScript">
<!--
Array.prototype.in_array = function(needle) {
   for(var i=0; i < this.length; i++) if(this[ i] === needle) return true;
   return false;
}

function check() {
  if (document.uploadForm.elements['datei'].value != "") {
    var file_name = document.uploadForm.elements['datei'].value;
    var file_allowed = array('abc.txt', 'def.txt');
    if(!in_array(file_allowed.in_array( file_name )) {
      alert('Falsche Datei!');
      return false; 
    }else {
      return true;
    }
  }
}
//-->
</script>

<form method="post" name="uploadForm" enctype="multipart/form-data" onsubmit="return check();">
<p><input type="file" size="40" name="datei"></p>
<p><input type="submit" value="upload"></p>
</form>
 
Zuletzt bearbeitet von einem Moderator:
Zurück