Datei vor Upload checken



  • hi,

    wie kann ich effizient testen ob die datei die hochgeladen werden soll eine pdf-datei ist? ist folgendes korrekt? es soll auch sicher stellen, das keine umgenannte pdf-datei hochgeladen werden kann.

    $accept_type = "application/pdf"; // akzeptierte Filetypen
    
    // Erweiterung ermitteln
    $ext  = explode(".", $HTTP_POST_FILES["userfile"]["name"]);
    $ext  = array_pop($ext);
    
    // Mime-Type prüfen
    $mime = strpos($HTTP_POST_FILES["userfile"]["type"], $accept_type);
    
    // testen
    if (!preg_match('/^(pdf)$/',$ext) || ($temp === false))
    {
      $err_message .= " File " . $filename . " not accepted (only .pdf file format allowed)<br>\n ";
      return false;
    }
    

    kann man das so machen? hab mir das jetzt aus verschiedenen quellen zusammengebastelt...



  • hm.. hab grad gemerkt, dass der mime-typ nicht unabhängig der dateierweiterung ist... machs jetzt so

    // Erweiterung prüfen
    $ext  = explode(".", $filename);
    $ext  = array_pop($ext);
    
    // Test ob Dateiendung pdf ist
    if (strpos($ext, "pdf") === false)
    {
      $err_message .= " File " . $filename . " not accepted (only .pdf file format allowed)<br>\n ";
      return false;
    }
    

Anmelden zum Antworten