• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP: Bilder speichern?

Hansii

Mitglied
Hallo.

Wenn der Nutzer Bilder hochlädt möchte ich diese natürlich auch speichern. Speicher ich die am besten in einer MySQL Datenbank?

Folgende Fragen:

1. Wo speichere ich die am besten?
2. Wie bekomme ich es hin, dass nur bestimmte Dateitypen und Größen erlaubt sind?
3. Wie mache ich es, dass aus dem Nutzerbild ein 100x100 Bild wird (wie Facebook, man kann ja ein 800x640er hochladen, trotzdem wird daraus nur ein 200er)?

Danke und bitte: Seid gnädig mit mir, bin doch Anfänger :D
 
Werbung:
Hallo Hansii,

es ist möglich Bilddaten in Datenbanken zu speichern. Mit solchen BLOBS können die meisten DB-Systeme jedoch nur unbefriedigend umgehen, weshalb sich das Speichern als Datei im Webverzeichnis eher anbietet.

Der Webserver übergibt an die PHP-Laufzeit einige globale Informationen zu hochgeladenen Dateien, die in der Variable $_FILES zugänglich sind. Das funktioniert ähnlich zu etwa $_POST. In diesem Array stehen u.a. Dateiname und -größe, welche du überprüfen kannst. Du könntest mal ein kleines HTML-Dokument mit einem Upload-Formular erstellen und in einer zugehörigen PHP-Datei schreiben:
PHP:
<?php
header('Content-Type:text/plain;charset=utf-8');
var_dump($_POST);
var_dump($_FILES);
?>
So wird recht schnell klar, wie die Arrays aufgebaut sind und welche Infos sie enthalten.

Um ein Bild zu verkleinern, kannst du in PHP auf einige Funktionen der GDLib zugreifen. Etwa PHP: imagecopyresized - Manual.

Deine Anforderungen entsprechen einem recht normalen Image-Upload. Du könntest die Version unter Image Uploading With Auto Thumbnails Using PHP etwas abwandeln oder nach anderen Scripts suchen. Google-Keys sind etwa "php image upload auto thumbnail script".
 
Zusätzlich kannst du den Namen der abgespeicherten Bilder in der Datenbank abspeichern um so die Bilder besser zuordnen zu können.
 
Werbung:
Zurück
Oben