PHP Bild hochladen und abspeichern

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Hey (Frage gerade erst gesehn),

Du hast ja scheinbar rausgefunden wie du die Datei entgegennimmst und speichern kannst (move uploaded file). Sehr gut.

Zu deinen restlichen Fragen:

Wie ändere ich die Endung?

Du willst ein beliebiges Bild, das hochgeladen wurde ins PNG-Format formatieren? Dazu gibts die Funktion imagepng():

$result = imagepng(imagecreatefromstring(file_get_contents($filename)), "dein/zielpfad/datei.png");

Einfach die hochgeladene Datei damit konvertieren.

Können manche Bildformate mehr als PNG oder werden sie vlt. bei der Formatierung beschädigt (kein .gif oder so)

Wenn Bild-Dateien in ihrer Struktur beschädigt sind kann es natürlich sein, dass das konvertieren fehlschlägt (oder wenn etwas anderes als ein Bild hochgeladen wurde). In diesem Fall weißt du Bescheid, indem du den Rückgabewert von imagepng untersuchst. Wenn $result false ist, würde kein gültiges Bild hochgeladen. Bedenke, dass das Ändern der Dateiendung keine Konvertierung ist! Du hast dann immer noch ein JPG oder GIF, dessen Dateiname dann lediglich mit ".png" endet

Wieso spackt der "Hochladen"-Button so? (Text verschwindet nach anklicken) (Optional)

Soweit ich dein CSS und HTML gesehen habe hast du kein entsprechendes Verhalten definiert. Ich vermute daher, dass der Schuldige der Browser ist, der den Text ändert/löscht, nachdem er mit dem Senden begonnen hat (um den User daran zu hindern während des Sendevorgangs erneut eine Datei auszuwählen). Schau doch mal ob ein anderer Browser genauso reagiert (IE, Firefox, Chrome)


Minding 
Beitragsersteller
 14.11.2014, 19:15

Hi,

danke für deine Antwort!

Ich hab's jetzt mit Opera, Chrome, FF und IE ausprobiert - überall das gleiche Problem!

Ich hoffe mir kann jemand Helfen, ich nehm auch gerne andere CSS Vorschläge an und passe sie dann meinem Design an.

-Minding