ich hab schon vor Ewigkeiten mal folgenden Script irgendwo in irgendeinem Forum gesehen, ein wenig abgeändert und benutze ihn schon seit meiner ersten Homepage.
Mit dem kann man JPG Bilder in einer anderen Auflösung und Bildqualität bekommen:
<?php
session_start();
$datei = $_FILES['datei']['name']; // Dies hab ich noch nicht getestet, da ich den Namen immer nach datum und user id abgespeichert hab.
$datei = str_replace(" ", "_", "$datei");
$datei = htmlentities($datei); // Mit leerzeichen -> _ hab ich auch noch nicht getestet, sollte aba klappen
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] == 2)
{
else
{
echo "<center><b>Das Bild darf nicht größer als 2MB sein</b></center>";
}
}
else
{
echo "<center><b>Bitte nur Bilder im JPG Format hochladen</b></center>";
}
?>
Hab den nun nicht ganz genau auf Fehler überprüft aber dachte, ihr könntet es evtl. gebrauchen. Man muss einfach im Ordner, indem das Script ist ein Ordner namens upload machen, dem die nötigen Rechte geben und noch ein Formular zum Script mit nem Dateifeld namens "datei".
Das die Bilder in einer Mysql Tabelle gespeichert werden, könnt ihr ja selbst noch dazu machen.
L.G. Andre
P.S. Man kann dies auch gut per While schleife in ein "Massenumwandlungsscript umwandeln. Einfach ne While schleife mit dem Inhalt des Ordners machen. (Dafür muss einem aber genug Ram zur Verfügung stehen)
Post wurde schon 1x editiert, das letzte mal am 06.08.2008 um 12:40 von Andavos
Es sind natürlich ein paar Anpassungen nötig. und ein Fehler ist auch drinn :-(
Zuerst der Fehler: In Zeile 105 steht
PHP
1:
echo "<img src=\"upload/$datum-$userid.jpg\">";
Das ist blöd da es die Datei $datum-$userid.jpg nicht gibt. Ersetze $datum-$userid.jpg durch $datei
Die Anpassungen:
ersetze alle "upload/" dur den Ordnernamen mit abschlißenden / in die Du deine Dateien hochladen möchtest. Achte darauf das der Ordner auch die Schreibrechte hat.
Das Feld welches den lokalen Dateipfad enthält muss den Namen datei benutzen also sollte das Formular etwa so aussehen:
bin neu hier und habe folgendes Problem bei deinem Script. Habe alles endsprechend angepasst und den oben genannten Fehler ausgebessert. Wenn ich jetzt das Bild auswähle und auf hochladen klicken, bekomme ich folgende Fehlermeldung:
Fatal error: Call to undefined function imagecreatefromjpeg() in D:\Server\Files\incl2.php on line 18
Woran kann das liegen?
PHP
1:
$src_img = imagecreatefromjpeg($file);
Gruß
Chaos
PS: Liegt auf meinem localhost, was ja aber keine Probleme machen sollte oder?
Post wurde schon 3x editiert, das letzte mal am 01.01.2010 um 18:37 von evolutionchaos
Ich habe mal eine Frage dazu. Auf meinem Server werden nun die verkleinerten Bilder gespeichert, aber zusätzlich befinden sich dort auch noch die TEMP Dateien, die die Originalgrößen haben. Gibt es noch eine Funktion, die man in das Script einbauen kann, sodass diese vom Server wieder gelöscht werden ??? Wenn ja, kann mir jemand dabei helfen .