Zum Inhalt springen

Dateiupload


Empfohlene Beiträge

Moin zusammen!

Ich muss einen Dateiupload erstellen wo die Dateigröße und der Typ vor dem Upload überprüft wird.

Ich habe schon etwas länger gegoggelt und keinen Ansatz gefunden nur über Active X wenn möglich soll das aber per Javascript gelört werden.

Habe auch eine Variante gefunden wo man bei <input type=file >

noch accept und maxlenght eingibt aber so ganz haut das auch nicht hin. Selbst auf selfhtml wird bei dieser variante gesagt das das nicht so ganz hin haut und nicht immer funtkioniert.

Wenn jemand eine Idee hat möge er sie posten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe dir da mal was zusammenkopiert.


$user_avatar_name = ( !empty($HTTP_POST_FILES['avatar']['name']) ) ? $HTTP_POST_FILES['avatar']['name'] : '';
$user_avatar_loc = ( $HTTP_POST_FILES['avatar']['tmp_name'] != "none") ? $HTTP_POST_FILES['avatar']['tmp_name'] : '';
$user_avatar_size = ( !empty($HTTP_POST_FILES['avatar']['size']) ) ? $HTTP_POST_FILES['avatar']['size'] : 0;
$user_avatar_filetype = ( !empty($HTTP_POST_FILES['avatar']['type']) ) ? $HTTP_POST_FILES['avatar']['type'] : '';

if( file_exists($user_avatar_loc) && ereg(".jpg$|.gif$|.png$", $user_avatar_name) )
{
if( $user_avatar_size <= $forum_config['avatar_groesse'] && $user_avatar_size > 0)
{
$error_type = false;

//
// Opera appends the image name after the type, not big, not clever!
//
preg_match("'image\/[x\-]*([a-z]+)'", $user_avatar_filetype, $user_avatar_filetype);
$user_avatar_filetype = $user_avatar_filetype[1];

switch( $user_avatar_filetype )
{
case "jpeg":
case "pjpeg":
case "jpg":
$imgtype = '.jpg';
break;
case "gif":
$imgtype = '.gif';
break;
case "png":
$imgtype = '.png';
break;
default:
$error = true;
$error_msg = (!empty($error_msg)) ? $error_msg . "<br />" . "Der Avatar muss im GIF-, JPG- oder PNG-Format sein." : "Der Avatar muss im GIF-, JPG- oder PNG-Format sein.";
break;
}

if( !$error )
{
list($width, $height) = @getimagesize($user_avatar_loc);

if( $width <= $forum_config['avatar_breite'] && $height <= $forum_config['avatar_hoehe'] )
{
$user_id = $_SESSION['session_userid'];

$avatar_filename = $user_id . $imgtype;

if( $_POST[avatar_type] == "1" && $_POST[avatar_bild] != "" )
{
if( @file_exists("./pictures/avatar/images/" . $_POST[avatar_bild]) )
{
@unlink("./pictures/avatar/images/". $_POST[avatar_bild]);
}
}
@copy($user_avatar_loc, "./pictures/avatar/images/".$avatar_filename);

//Dateiname und Type in Datenbank speichern

//...
}
else
{
$l_avatar_size = sprintf("Der Avatar muss weniger als " . $forum_config['avatar_breite'] . " Pixel breit und " . $forum_config['avatar_hoehe'] . " Pixel hoch sein." , $forum_config['avatar_breite'], $forum_config['avatar_hoehe']);

$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $l_avatar_size : $l_avatar_size;
}
}
}
else
{
$l_avatar_size = sprintf("Die Dateigrösse muss kleiner als %d kB sein.", round($forum_config['avatar_groesse'] / 1024));

$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $l_avatar_size : $l_avatar_size;
}
}
else
{
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . "Der Avatar muss im GIF-, JPG- oder PNG-Format sein." : "Der Avatar muss im GIF-, JPG- oder PNG-Format sein.";
}
[/php]

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich muss die überprüfung für ein bestehende System schreiben bzw einbauen.

Der Upload funktioniert über das System nur dort ist keine Funktion eingebaut um die Datei größe bzw Art zu überprüfen. Das Problem ist das es halt vor dem Upload passieren muss, ich habe auch schon gegoogelt aber zu 99% bin ich davon überzeugt das es nicht geht. Dennoch muss ich irgendwie eine Lösung finden, jedoch bleibt mir nur Javascript.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...