Uploadscript Höhe, Breite, Dateiname

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Bones van Helghast
Mitglied
Beiträge: 157
Registriert: 19.09.2008 08:31

Uploadscript Höhe, Breite, Dateiname

Beitrag von Bones van Helghast »

Hallöle. :)

Ich bastel zurzeit an ein kleines Uploadscript das es ermöglicht GIF und JPG bilder hochzuladen diese werden dann auf /upload/ gespeichert.
Allerdings soll das ganze nun so ablaufen:
Die Datei wird hochgeladen, die Datei soll (entweder) überprüft werden ob die maximale höhe/breite und größe nicht überschritten wird (oder) auf den maximalen wert verkleinert werden wenn sie zu groß ist, ist die datei kleiner als die gegebenen Werte soll die datei unverändert sein. Anschließend soll die Datei noch den Namen geändert bekommen...
leider schaff ich es weder die abfrage für die maximale höhe noch breite noch die änderung des Namens hinzubekommen und wende mich daher an euch da ihr mir bisher immer weiter geholfen habt... Mein PHP-Code sieht z.Z so aus:

Code: Alles auswählen

<?php
$action = $_GET['action'];
echo'
<form action="foto.php?action=send" method="post" enctype="multipart/form-data">
<input type="file" name="datei"><br>
<input type="submit" value="Hochladen">
</form>';
if ($action == "send") {
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {

   if($_FILES['datei']['size'] <  102400)
      {
      move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
      echo "Das Bild wurde Erfolgreich nach upload/".$_FILES['datei']['name']." hochgeladen";
      }

   else
      {
         echo "Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }
    }
?>
Edit:

Der Dateiname soll später aus der URL ausgelesen werden d.H es kommt noch eine GET-Abfrage dazu ($_GET['username']) und die datei soll dann so heißen wie der username aus der URL.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Uploadscript Höhe, Breite, Dateiname

Beitrag von gn#36 »

Also zunächst mal grundsätzlich: Es ist meist keine gute Idee, den Namen einer Datei beizubehalten wenn du ein Upload annimmst. Ansonsten könnten da nämlich böse Dinge drin sein und ein trickreicher Uploader schafft es ggf. sogar eine ausführbare Datei auf dem Server daraus zu machen (also selbst wenn du die Dateiendung prüfst trotzdem eine PHP Datei daraus zu machen). Also sollte man möglichst den Namen der Datei ändern, den Usernamen kannst du ja z.B. aus der Datenbank holen, das sollte zumindest etwas sicherer sein. Um die Datei umzubenennen musst du ja lediglich einen anderen Zielnamen bei move_uploaded_file angeben. Der Funktionsname bei getimagesize ist übrigens falsch, du musst alles klein schreiben.

Diese Funktion habe ich mal für den Resize auf feste Maße verwendet:
https://www.phpbb.de/support/pastebin.p ... view&s=484
Ist zwar vielleicht nicht exakt das was du brauchst, aber so ungefähr wohl denke ich schon, die restlichen Anpassungen kriegst du vielleicht ja selber hin.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Bones van Helghast
Mitglied
Beiträge: 157
Registriert: 19.09.2008 08:31

Re: Uploadscript Höhe, Breite, Dateiname

Beitrag von Bones van Helghast »

Upps sorry weil falsches Forum ich hatte mich verklickt >.<

Danke für deine schnelle Antwort.
Du meinst nun also ich soll die Upload-Datei nicht nur auf größe, höhe, breite und dateiendung prüfen sondern jeweils auch noch auf einer festen Datei-Endung umwandeln? GIF, PNG und JPG nochmal in JPG umwandeln? Gibt's da nicht Qualitätsverlust?

Im übrigen wollte ich eh noch das ganze erweitern aber da ich an diesen "kleineren" dingen schon einen halben Tag rumgespielt hab hab ichs nicht mehr soweit geschafft.
Der Upload wird von einem Administrator freigeschalten der vorher das ganze überprüft.
aurora876
Ehemaliger Übersetzer
Beiträge: 1600
Registriert: 30.08.2008 20:41

Re: Uploadscript Höhe, Breite, Dateiname

Beitrag von aurora876 »

hm, es gibt aber doch schon die möglichkeit für attachments...
There are 10 types of people in the world: Those who understand binary and those who don't. :D

Support Toolkit in Deutsch
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Uploadscript Höhe, Breite, Dateiname

Beitrag von gn#36 »

Du kannst es speichern wie du willst, das war nur ein Skript was ich mal benutzt habe an dem du sehen kannst wie es grundsätzlich geht. JPG ist natürlich grundsätzlich erst mal verlustbehaftet, aber bei meinen Bildern war das erst mal egal, in der Regel hat man ja doch wenig Text in den Bildern, abgesehen davon sind die Abmessungen die ich benutzt habe recht klein wie man sieht, da bleibt vom Bild ohnehin nicht viel von den Details übrig. Das Neuerstellen des Bildes hat aber auch den Vorteil, dass dabei in die Bilder eingebettete Viren normalerweise keine Chance haben, die Prozedur zu überleben, da das Bild völlig zerlegt wird.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“