Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

Aber ist es bei dem Script nicht so das die Datei bereits hochgeladen wurde?

Leider habe ich auch nicht die Möglichkeit PHP Code einzubinden mit bleibt nur Javascript

Geschrieben

Clientseitig sehe ich da ein Problem.

Viel interessanter ist die Frage wie soll die Datei auf dem Server gespeichert werden wenn kein PHP zur Verfügung steht. Womit will er es dann machen?

Frank

Geschrieben

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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...