Dateiüberprüfung auch .rar
#1
geschrieben 28. April 2008 - 21:06
Ich möchte gerne eine Dateiendungsüberprüfung in If Forum durchfüren.
Ich kann auf folgende Sachen zurückgreifen:
$_FILES['uploadedfile']['tmp_type'] usw
Ich möchte vorallem dass .rar unterstützt wird.
Das ganze soll nun also per mimetypen überprüft werde, nur wie..
Ein paar Mime-typen:
rar=> application/x-rar-compressed,
zip=> application/zip,
jpeg=> image/jpeg,
jpg=> image/jpeg, // was is eig der Unterschied zu jpeg und jpg ? :-D
und noch mehr---
Wie gesagt das ganze sollte möglichst in einer If Funktion erfolgen. Außerdem habe ich ein Bereich im Script wo man einstellungen vornehmen kann. Dort sollten sie einfach eingetragen werden können.
btw: Wie sieht es aus wenn man einen dateityp hat der nicht als mimetyp vorhanden ist? Wie wird der dann hochgeladen?
Danke
Toasterfraktion
Anzeige
#2
geschrieben 28. April 2008 - 21:42
Zitat
So als Tipp, du solltest bereits während dem Upload prüfen, um was für ein File es sich handelt - dafür reichen die ersten paar Bytes - sonst entsteht nur unnötig Traffic.
Mehr kann ich da - gsd - nicht helfen, PHP suckt
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#3
geschrieben 28. April 2008 - 21:46
Schönen Abend
#4
geschrieben 29. April 2008 - 12:45
kann es sein das du daraus einen Download machen willst weil du die Mime-Typen brauchst?
Was gibt den bei dir $_FILES['uploadedfile']['tmp_type'] aus? Das hier wäre auch intressesant.
Dieser Beitrag wurde von h-a-n-n-e-s bearbeitet: 29. April 2008 - 12:51
#5
geschrieben 29. April 2008 - 12:50
#6
geschrieben 29. April 2008 - 12:50
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#7
geschrieben 29. April 2008 - 12:57
mein Problem ist, ich weiß nicht wie ich es umsetzen soll. Gibt’s da ne Funktion?
#8
geschrieben 29. April 2008 - 15:00
dann dachte ich mir lordi und Tosterfraktion könnten das gut gebrauchen...
upload.php
<?php $f_groesse_kb = $_FILES['DateiVomUser']['size']/1024; //Dateigröße in kb bestimmen // ### Diese Werte können verändert werden: $f_ordner = "uploads/"; // Der Ordner in den die Datei hochgeladen werden soll $f_type_er = array('jpg', 'jpeg', 'png', 'txt', 'doc', 'mp3'); // Erlaubte Datenendungen/Datentypen $f_groesse_max = 500; //Maximale Dateigröße in >KByte< // ### Hier nichts ändern! $f_uploaded = $f_ordner.$_FILES['DateiVomUser']['name']; //Uploadordner mit Datei $f_type = explode(".", $_FILES['DateiVomUser']['name']); //Dateiname wird gesplittet um Dateiendung zu bestimmen $f_endung = end($f_type); //Letzter Wert im Array $f_type ist die Dateiendung //und wir mit end($f_type) bestimmt $f_type_ok = 0; //$f_type_ok ist 0 -> siehe for-Schleife // ### Dateiendung überprüfen for($i=0; $i<=count($f_type_er); $i++) { if($f_type_er[$i]==$f_endung) $f_type_ok = 1; //Geht alle Array-Werte von $f_type durch und überprüft, //ob die Datenendung im Array gefunden wurde. Wenn ja //--> Dateiendung erlaubt $f_type_ok=1 am sonsten bleibt $f_type_ok=0 } if($f_type_ok == 1) { if($f_groesse_kb < $f_groesse_max) { if(move_uploaded_file($_FILES['DateiVomUser']['tmp_name'], $f_uploaded)) { echo "Die Datei <a href=\"".$f_uploaded."\">".$_FILES['DateiVomUser']['name']."</a> wurde erfolgreich hochgeladen."; } else { echo "Fehler beim Hochladen der Datei."; } } else { echo "Datei übertrifft die maximale Dateigröße von ".$f_groesse_max." kb!"; } } else { echo "Die Dateiendung ist nicht erlaubt."; } ?>
Das Formular:
<form enctype="multipart/form-data" method="POST" action="upload.php"> Datei: <input name="DateiVomUser" type="file" /> <input type="submit" value="Hochladen" /> </form>
Dieser Beitrag wurde von K050V4 bearbeitet: 29. April 2008 - 17:08
Zitat
Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
#9
geschrieben 29. April 2008 - 15:54
for($i=0; $i<=30; $i++)Was soll denn sowas? Warum lässt du es nicht gleich über die Länge des betreffenden Arrays laufen?
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#10
geschrieben 29. April 2008 - 16:18
Zitat
Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
#11
geschrieben 29. April 2008 - 16:29
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#12
geschrieben 29. April 2008 - 17:06
Zitat
Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
#13
geschrieben 29. April 2008 - 17:28
#14
geschrieben 29. April 2008 - 17:38
Zitat (ph030: 29.04.2008, 17:29)
Oder es kommt wirklich jemand auf die Perverse Idee mehr als 30 Punkte rein zu machen. Die Lösung mit count() ist sicherlich effektiver.
#15
geschrieben 29. April 2008 - 20:36
Gruß,
Stefan
- ← Ordner Mit Php Ausgeben / While Oder For - Dateigröße Einbinden?
- Skript/Web-Programmierung
- Isset Mit Bestimmter Zeichen Länge →