Welche Auflösungen/Formate für einen File Upload

#1
Hallo Community,
Ich wollte hier einmal etwas generelles diskutieren.

Ich habe für meinen "Custom" Online-Shop (PHP/keine Wordpress oder Joomla Variante) einen Datei Upload, welcher es dem Betreiber ermöglicht, Bilder zu einem Artikel im JPEG Format hochzuladen.

Die Bilder müssen größer 1024x768, und kleiner 2600x1920 Pixel sein. Die Dateigröße sollte 15MB nicht unter-/überschreiten.

Ich für meinen Teil nehme das Bild Serverseitig entgegen und rechne es unter Zuhilfenahme von "ImageMagick" im Verhältnis 16:3, auf 1024x768 runter. Die Größe 1024x768 nutze ich für eine vergrößerte Anzeige der Grafik. Quasi das was man sich immer mit einer Lupe anzeigen lassen kann.

Desweiteren errechne ich eine Thumbnail, welches die Größe bei 150Px in der Breite hat. Ich habe die genaue Größe gerade nicht mehr im Hinterstübchen ...

Beide Bilder lege ich im Public-Verzeichnis ab und halte diese bei Bedarf dann vor.

Wie handhabt Ihr einen Upload, bzw. wie rechnet Ihr die Bilder auf die von Euch gewünschte Größe? Was ist heute Standard, denn bei dem ganzen Auflösungs Wirrwarr blickt man bald nicht mehr durch.

Generell möchte ich die Smartphone-Ebene Auflösungstechnisch nicht betrachten.

Danke im Vorraus ...

:)
 
#2
Da du das mit Imagick machst, denke ich mal du redest von der Dateigröße??
Wenn dem so ist:
PHP: $_FILES - Manual bietet dir alle Informationen welche du brauchst.
Ich würde größere Dateien gar nicht erst annehmen.
Erstpart dir das herunterrechnen und ggf. Probleme mit Speicherplatz weil jemand deine Platte mit hochauflösenden Bildern vollspammt, oder der Upload benutzt wird eine DOS-Attacke zu fahren.
Wenn du den Link nicht kennst, dann solltest du mindestens ein Framework benutzten und nicht selbst was zusammenbasteln.
Gruß

Fluffy

//edit:
Und ich würde auch den Mime-Typen überprüfen, sonst gibt es Spassvögel, wie zB mich die dann einfach /dev/zero auswählen :D

// edit2:
Ich kenne die Argumente gegen die Benutztung von Frameworks, (Bloat, skalability, performance,etc) aber du wirst mit einem kleinen Onlineshop mit Sicherheit nicht an diese Grenzen stoßen.
Sollte das Ding größer werden, wäre ein rewrite besser, und man sollte sowiso Probleme erst lösen wenn sie auftreten.
Und Sicherheit in der Entwicklung und nette Features wie Mime-Type, Wartbarkeit, Sicherheit(XSS und SQLi-Schutz out of the Box) sind Killerargumente für Frameworks.
 
Zuletzt bearbeitet:
#3
Ich glaube du bist mit deinem Konzept NOCH gut dabei... dem User Arbeit abzunehmen ist immer gut und die Auflösung von 1024x768 noch im hinteren Mittelfeld. Für einen Online-Shop aber noch vollkommen ausreichend. Betrachte diese Punkte jährlich und wäge sie nach dem üblichen "Standard" ab
 
#4
Guten Morgen,
vorab bitte ich einmal um Entschuldigung für die verspätete Rückmeldung meinereiner ...

Ich glaube du bist mit deinem Konzept NOCH gut dabei... dem User Arbeit abzunehmen ist immer gut und die Auflösung von 1024x768 noch im hinteren Mittelfeld. Für einen Online-Shop aber noch vollkommen ausreichend. Betrachte diese Punkte jährlich und wäge sie nach dem üblichen "Standard" ab
Das hört sich für mich gut an, und ich denke eine jährliche Betrachtung wäre wirklich ausreichend. Ich habe in der Vergangenheit festgestellt das ein Shop-Betreiber die irrsinnigsten Bilder hochladen möchte, was auch bedeuten kann ein Bild mit den Maßen z.B. 3cmx20cm ...

Wie soll man das passend berechnen und im Anschluss an den Client/Kunden vernünftig als JPEG ausliefern.

Wenn du den Link nicht kennst, dann solltest du mindestens ein Framework benutzten und nicht selbst was zusammenbasteln.
:D ich denke diese Transferleistung bekomme ich noch geleistet.

Als PHP-Framework setze ich auf ZEND und bin bisher eigentlich sehr zufrieden. Mit den von Haus gelieferten Validatoren und Filtern in ZEND ist man zwar nicht sicher, aber schon ziemlich gut aufgestellt. Zusätzlich prüfe ich auf eine reguläre Dateibreite (Image-Width), bzw. ob ein "echte" Bilddatei vorliegt und erstelle aus dem Image via ImageMagick ein neues Image im JPEG-Format. Dies mache ich generell, unabhängig ob ein JPEG-Image hochgeladen wurde oder nicht. Sprich sollte Schadcode im Bild vorhanden sein ist dieser es dann nicht mehr.

Ergänzend möchte ich hinzufügen, das die Bilder von einem Betreiber presönlich hochgeladen werden und ich hier böswillige Absichten erstmal nicht unterstelle, versuche aber trotzdem vom schlimmsten auszugehen. Ein oder mehrere Prüfalgorithmen/Filter/Validatoren werden trotzdem abgefeuert.

Ich kenne die Argumente gegen die Benutztung von Frameworks, (Bloat, skalability, performance,etc) aber du wirst mit einem kleinen Onlineshop mit Sicherheit nicht an diese Grenzen stoßen.
Sollte das Ding größer werden, wäre ein rewrite besser, und man sollte sowiso Probleme erst lösen wenn sie auftreten.
Und Sicherheit in der Entwicklung und nette Features wie Mime-Type, Wartbarkeit, Sicherheit(XSS und SQLi-Schutz out of the Box) sind Killerargumente für Frameworks.
Meine Ursprugsgedanken galten viel eher dem persönlichen Know-How und Lernerfolg. Rückblickend war das auch gut und ich bin froh heute mit noch bestehenden geringen Aufwand ein fast fertiges Produkt am Start zu haben. Mein Ziel ist es nicht ein fertiges CMS zu haben, sondern demjenigen eventeuell etwas zu bieten, welche kein Monstersystem haben wollen. Das System beschränkt sich auf einfache Funtionsweisen.

Frontend:
Loginbereich, Registration,Newsletter,Kontakt,Warenkorb mit einem kompletten Bestell-/Zahlungsvogang (inklusive der Rechnungserstellung und eMail Versendung),Haupt-/Warengruppen und Artikel anzeigen, Produktdetailanzeige

Backend:
Systemkonfiguration, Verwaltung von Basisdaten (z.B.Lieferaten), Verwaltung von Kunden/Haupt-/Warengruppen und Artikel/Produktdetails (zzgl. der Bilder), Bearbeitung der Bestellung

Der Kunde kann ohne Registraton bestellen.
Der Zahlvorgang ist ziemlich simple, der Betreiber wartet bei Vorkasse bis das Geld auf dem Konto eingegangen ist. Kein grosses Risiko, und das Widerrufsrecht ist ja generell gegeben, dessen sollte man sich bewusst sein
 
Oben