Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Überprüfung des Datei Typen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Überprüfung des Datei Typen

    Ich habe ein Upload formular und ich würde aber gerne vorher überprüfen lassen ob es sich um eine Grafik Datei handelt in dem Fall nur jpg, gif und png.
    Jetzt stell ich mir die Frage wie ich das anstellen soll vlt mit Mime Typen ?

    hier mal mein Code

    PHP-Code:

    if($_POST['Send'] && $_FILES['Datei']['name'])
    {
            
    $filename $_FILES['Datei']['name'];
            
    $namen explode ("."$filename );
            
    $name array_pop($namen);
            
    $zaehler 1;

            while (
    file_exists("files/".$filename))
            {
                echo 
    "Filename existiert bereits!<br>";
            
                
    $filename $namen[0]."_".$zaehler.".".$name;
                
    $zaehler $zaehler+1;
            }

            echo 
    "Der Filename ist jetzt ".$filename;
            
            echo 
    "<br>Ihre Datei (&quot;",$_FILES['Datei']['name'],"&quot;) ist ",
            
    $_FILES['Datei']['size']," Bytes gross und hat den "
            
    $_FILES['Datei']['type']," Datentyp. <br><br>";
            
            
    $eintrag "INSERT INTO bilder (name, datum) VALUES ('$filename', '".time()."')";
            
    $eintragen mysql_query($eintrag);
            
            
    move_uploaded_file($_FILES['Datei']['tmp_name'], "files/".$filename);
            echo 
    mysql_error();

    Also um das kurz zu erläutern ich überprüfe meine Datei schon darauf ob
    der Name existiert und trage die in die Datenbank ein.
    Um das ganze jetzt nun zu vervollständigen fehlt mir noch die überprüfung
    der Datei ob diese nun eben eine Grafik Datei ist.

    Bitte um Hilfe und Ratschläge

  • #2
    Bei Grafiken geht das am einfachsten mit PHP: getimagesize - Manual

    Kommentar


    • #3
      Diese Variante hätte ich auch schon versucht aber (ich denke ich habs schlecht formuliert) weiß ja im vorhinein nicht was der oder diejenige hinaufladen möchte.

      Deswegen stell ich mir vor könnte es mit Mime Typen gehn oder vlt kann man die Dateiendung der jeweiligen raufzuladeten Datei prüfen weil ich zerlege ja in meinem Code den namen (hier
      PHP-Code:
      $filename $_FILES['Datei']['name'];
      $namen explode ("."$filename );
      $name array_pop($namen); 
      kann ich vlt damit etwas anfangen ? Lg

      Kommentar


      • #4
        Nun getimagesize kommt ja nur mit Bildern zurecht, das heisst wenn es kein Bild ist, dann liefert dir getimagesize false zurück, damit lässt sich schonmal arbeiten. Oder gehts dir jetzt darum das wirklich nur die 3 Bildtypen akzeptiert werden und nicht z.b. TIFF o.ä. ?

        Kommentar


        • #5
          Ja mir gehts nur darum das diese 3 akzeptiert werden

          Kommentar


          • #6
            Nun dann musst du wirklich den MimeType und die Dateiendung überprüfen. Den MimeType kannst du auch mit getimagesize abfragen (siehe Manual) und was dieser alles nach deiner Vorstellung beinhalten darf, das findest du bei google. Die Dateiendung bekommst du am einfachsten mit PHP: pathinfo - Manual

            Kommentar


            • #7
              Ok danke. Aber das mit der Dateiendung .. kann ich da nicht meinen
              zerlegten namen hernehmen.

              weil ich habe wie oben gepostet die Dateiendung in die variable $name
              gespeichert kann ich die zb dafür verwenden ?

              Kommentar


              • #8
                dürfte genauso funktionieren

                Kommentar


                • #9
                  ok gut so nun eine wirklich dumme frage
                  ich mache also eine abfrage in der ich sage

                  zb if($name == "image/jpg") ... oder ?
                  und wo setzte ich diesen code dann ein bevor ich überprüfe ob
                  der dateiname existiert oder nacher (siehe code)

                  Kommentar


                  • #10

                    Kommentar


                    • #11
                      na überleg doch mal... im Prinzip egal, aber die Datei sollte doch sowieso nur existieren wenn die Endung stimmt... das eine Datei mit falscher Endung existiert darf ja gar nicht vorkommen... UND PUSHEN IST HIER VERBOTEN

                      Kommentar

                      Lädt...
                      X