PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Dateiupload - Dateityp - Fehlende Meldung (http://www.selfphp.de/forum/showthread.php?t=24501)

Auf der Mauer 04.12.2011 22:40:54

Dateiupload - Dateityp - Fehlende Meldung
 
Hallo,

ich schreibe gerade an einem Uploadscript, was bisher auch ziemlich gut funktioniert.
Beim testen ist mir allerdings etwas aufgefallen, womit ich nicht zurecht komme.

Die erlaubten Dateitypen schreibe ich in ein Array und überprüfe mit der Funktion
getimagesize() den Typ der hochzuladenen Datei.

Hier der Code:

PHP-Code:

 // Erlaubte Dateitypen (1 = GIF, 2 = JPG, 3 = PNG, 6 = BMP, 7 = TIFF)

    
$allowed_file_types = array("1""2");  

 
// Bildinformationen ermitteln und in Variablen speichern  

    
$image_info getimagesize($_FILES['image']['tmp_name']);
    
$image_type $image_info[2];  // Dateityp

 
if (!in_array($image_type$allowed_file_types)) {
        
     echo 
"Falscher Dateityp!";
        
    } 

Funktioniert alles richtig gut, ich habe versucht alles mögliche an Dateien hochzuladen, wenn es kein gif oder jpg ist dann geht es nicht. Immer wird korrekt die Meldung "Falscher Dateityp!" ausgegeben. Nur wenn ich eine Tiff Datei auswähle, die im Dateinamen Klammern hat, dann kommt keine Fehlermeldung. Das verarbeitende Skript wird aber glücklicherweise auch nicht anderweitig ausgeführt.

Beispielname: Unbenannt(1).tif

Trotz der Tiff Endung wird hier keine Fehlermeldung ausgegeben, woran kann das liegen?

Gruß
René

derNichtGlaubt 05.12.2011 13:09:37

AW: Dateiupload - Dateityp - Fehlende Meldung
 
Vielleicht dumme Frage:
was sagt das Script zur Fileendung .tiff statt .tif ?

Auf der Mauer 05.12.2011 14:13:26

AW: Dateiupload - Dateityp - Fehlende Meldung
 
Hallo,

es gibt keine dummen Fragen, nur dumme Antworten.
Also hier meine dumme Antwort. :)

Was ist .tiff?

Wenn ich aus dem Internet eine .tif Datei lade, bezeichnet der Browser sie
als "TIFF Image", abgespeichert wird sie allerdings als .tif mit einem F.

So oder so, es ist keine jpg oder gif Datei, weshalb mein Script hier auch richtigerweise eine Fehlermeldung ausgibt, es sei denn, es sind Klammern im Dateinamen.

Beispielname: Unbenannt(1).tif

Lösche ich hier die Klammern, dann erscheint auch die Meldung.

Gruß
René

DokuLeseHemmung 05.12.2011 14:22:57

AW: Dateiupload - Dateityp - Fehlende Meldung
 
Zitat:

So oder so, es ist keine jpg oder gif Datei, weshalb mein Script hier auch richtigerweise eine Fehlermeldung ausgibt, es sei denn, es sind Klammern im Dateinamen.

Beispielname: Unbenannt(1).tif

Lösche ich hier die Klammern, dann erscheint auch die Meldung.
Da denkst du falsch!
Getimagesize bekommt nur den temp Namen zu sehen.
Die Klammern können da keine Auswirkungen haben.
Also liegt dein Problem woanders!
Was sagt print_r($_FILES) wenn der Fehler geworfen wird?

Auf der Mauer 05.12.2011 15:23:02

AW: Dateiupload - Dateityp - Fehlende Meldung
 
Hallo,

es hat wirklich nichts mit den Klammern zu tun.
Die Tif Datei war sehr gross, ich habe sie mal verkleinert,
danach kam sofort die Fehlermeldung, dass es der falsche dateityp sei.

Also liegt der Fehler nicht beim Dateinamen und Typ, sondern bei der Dateigröße
oder der Kombination aus mehreren. Da werde ich wohl nochmal ran müssen.

$_FILES['userfile']['error'] hat keine Fehler angezeigt, es gab ja auch keinen.
Das Skript wird einfach nicht ausgeführt. Ich muss dazu sagen, dass ich es bisher nur lokal teste,
vielleicht spielt das ja auch eine Rolle.

Gruß
René


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:13:18 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.