web-dev-qa-db-de.com

Beste PHP Bildbeschneidungsklasse

Ich entwerfe eine Website und muss:

  • Laden Sie das Bild hoch
  • Stellen Sie sicher, dass es sich um ein Bild handelt (und nicht, oh, ich weiß nicht ... ein Virus :))
  • Bildgröße ändern
  • in jpg konvertieren

Grundlegendes zum Hochladen von Bildern

Anstatt mein eigenes zu schreiben, versuche ich, eine php class zu finden, die mich dies alles tun lässt, denn wie Jeff Atwood sagte, "gestalte niemals, was du stehlen kannst"

Nun, bevor Sie weitergehen und absteigen, weil ich nicht recherchiert habe, habe ich Folgendes getan:

Googeln führt zu einer großen Anzahl von Ergebnissen, was das Problem ist, ich weiß nicht, welche Ergebnisse nützlich sind und welche Müll sind!

Bisher habe ich gefunden:

Hat jemand Erfahrung mit diesen Kursen? Können Sie eine hervorragende Bild-Upload-Klasse empfehlen?

21
Tomas

Ich neige dazu, einen Rahmen für die eine oder andere Beschreibung zu verwenden, der den Datei-Upload-Teil umfasst. Haben Sie jedoch eine Empfehlung für das Schnittbit:

Stellen Sie sich vor - https://github.com/avalanche123/Imagine

Und wenn Sie den Uploader ein wenig besser machen möchten als nur eine Eingabe type = file, versuchen Sie Folgendes:

https://github.com/valums/file-uploader

13
benlumley

Meine persönliche Lieblingsbibliothek für Bildbearbeitung ist WideImage . Es ist lächerlich einfach, diese Art von Aufgabe zu erledigen.

WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');

Um zu prüfen, ob es sich tatsächlich um ein Bild handelt, verwenden Sie finfo oder PEAR::Mime_type . Ich persönlich bevorzuge PEAR::Mime_Type . Es verwendet finfo, aber es ist nur einfacher zu benutzen.

Verwendung von finfo:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);

$isImage = (preg_match('#^image/#', $mimetype) === 1);

Verwendung von PEAR::Mime_Type:

$mimetype = MIME_Type::autoDetect($filename);

$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);
17
Andrew Moore

JCROP Plugin auschecken

Dies wird für alle nützlich sein

JCROP Image cropping----deepliquid.com/content/Jcrop.html

enter image description here

5
Nikz

Der Klassenupload von Colin Verot http://www.verot.net/php_class_upload.htm ist mein Favorit. Ich verwende in allen meinen Projekten. So wie Sie mit der Klasse „sprechen“ und nur das verwenden, was Sie brauchen, aber es gibt viele Konfigurationsmöglichkeiten/Methoden, um diese genau an Ihre Bedürfnisse anzupassen. Großartige Klasse!

4
Hans Kerkhof

es gibt auch diese Leichte Bildbearbeitungsbibliothek, geschrieben in PHP named Zebra_Image , die sehr klein ist und nicht mit unzähligen Funktionen gebläht wird, die Sie nie verwenden werden, stark optimiert mit ein großartige Dokumentation und das aktiv gepflegt wird.

4
Stefan Gabos

Ich empfehle die Verwendung von Smart Image Resizer http://shiftingpixel.com/2008/03/03/3/smart-image-resizer/

Sie erhalten die beste Bildqualität nach der Größenänderung

Es ist extrem einfach zu bedienen. Es verwendet einen Bild-Cache.

2
adam pery

Ich empfehle SimpleImage , es ist sehr einfach, hat nur eine Datei und wird aktualisiert.

Anwendungsbeispiel:

$img = new SimpleImage('image.jpg');

// Resize the image to 320x200
$img->resize(320, 200);

$img->save('new-image.jpg');
2

Wenn Sie bereit sind, in ein MVC PHP -Framework zu migrieren, empfehle ich Codeigniter

Neben einigen anderen Klassen und Bibliotheken, die Seitenumbrüche, Tabellen, Sicherheit, Formulare usw. behandeln, verfügt CI auch über Nice-Upload- und Bildbearbeitungsklassen, die sehr praktisch und flexibel sind. Ich glaube, sie können alles, was Sie brauchen (nur nicht sicher bei der JPG-Konvertierung).

Sie können sie unter:

Bildbearbeitungsklasse

Datei-Upload-Klasse

1
pepe

Ich verwende diesen Bildausschnitt, er funktioniert gut

Einfaches PHP Bildausschnitt

0
YasirPoongadan