AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [php] keine Fehlermeldung bei Dateiupload
Thema durchsuchen
Ansicht
Themen-Optionen

[php] keine Fehlermeldung bei Dateiupload

Ein Thema von Mazel · begonnen am 4. Dez 2006 · letzter Beitrag vom 4. Dez 2006
Antwort Antwort
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

[php] keine Fehlermeldung bei Dateiupload

  Alt 4. Dez 2006, 14:59
Hallo,

ich bin monentan ein wenig am verzweifeln. Ich möchte über php ein paar Dateien auf meine Website uploaden. Wenn die hochzuladene Datei größer ist als maximal erlaubt kommt bei mir bei viel zu großen Dateien leider keine Fehlermeldung obwohl ein Maximalwert sowohl im html-Formular ein Feld mit MAX_FILE_SIZE existiert und ich selber nochmals Abfrage.
Momentan sieht das alles so aus:
Delphi-Quellcode:
//das Formular
<form enctype="multipart/form-data" action="index.php" method="post" name="uploadform">
  <input type="hidden" name="MAX_FILE_SIZE" value="2097152">
  <input class="inputupload" type="file" name="userfile">
  <input class="inputbutton" type="submit" name="upload" value="uploaden">
</form>

//die index.php
if(isset($_POST["upload"]))
{ //$uploaddir ist gegeben
  if(move_uploaded_file($_FILES["userfile"]["tmp_name"], $uploaddir.$_FILES["userfile"]["name"]))
  { $error = "Die Datei ".$_FILES["userfile"]["name"]." wurde erfolgreich hochgeladen.

";
  }

  else if(($_FILES["userfile"]["size"] > 2097152) || ($_POST["MAX_FILE_SIZE"] > 2097152))
  { $error = "Die Datei ".$_FILES["userfile"]["name"]." überschreitet den Maximalwert!

";
  }

  else if($_FILES["userfile"]["error"] == UPLOAD_ERR_PARTIAL)
  { $error = "Die Datei ".$_FILES["userfile"]["name"]." wurde nur teilweise hochgeladen!

";
  }

  else if($_FILES["userfile"]["error"] == UPLOAD_ERR_NO_FILE)
  { $error = "Es wurde keine Datei zum Hochladen angegeben!

";
  }

}
Wenn die Datei größer als 2MB ist, soll ein Fehler ausgegeben und die Datei gelöscht werden. Ist die Datei knapp über 2MB, wird ein Fehler ausgegeben, ist sie viel größer (etwa 10 MB) passiert nichts. Woran liegt das und wie kann ich das ändern?

Ich danke schon im vorraus

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: [php] keine Fehlermeldung bei Dateiupload

  Alt 4. Dez 2006, 15:08
Moin,

du hast insgesamt 3 Grenzen: erstens die Grenze, die du ueber MAX_FILE_SIZE festlegst. Diese wird vom Browser "kontrolliert", kann aber auch getrost ignoriert werden. Falls die Datei groesser ist als der Wert, der ueber $_POST zurueckkommt, dann steht da UPLOAD_ERR_FORM_SIZE drin.
Die zweite Grenze ist upload_max_filesize; ist eine Datei groesser als das dann wird UPLOAD_ERR_INI_SIZE zurueckgegeben.
Der dritte Fall ist der, der bei dir auftritt: die Gesamtgroesse der uebertragenen Daten muss kleiner als post_max_size sein. Wenn dieser z.B. auf 2M begrenzt ist, und du eine 4M-Datei hochladen willst, dann kommt gar nichts an; und es gibt auch keine Fehlermeldung (bis auf ERR_NO_FILE).

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#3

Re: [php] keine Fehlermeldung bei Dateiupload

  Alt 4. Dez 2006, 15:40
Hallo,

danke. Dann müsste doch aber bei mir der letzte else-Zweig aufgrufen werden, weil ERR_NO_FILE als Fehler auftritt, dies geschiet aber nicht.
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz