PHP Upload: Datenübergabe an MySQL
Nun können wir unsere Daten an MySQL übertragen. Da wir ja die common.php eingebunden haben, können wir dazu die CodeCharge Funktionen nutzen. Das ganze kommt allerdings zur Sicherheit nur zustande, wenn es noch einen Wert für die Variable $id gibt, da nur damit eine eindeutige Zuordnung zum Datensatz möglich ist, fehlt die ID macht das Script nichts, es wird gar keine Verbindung zum MySQL Server aufgebaut. Den SQL Befehl kann man hier auf abändern und an die eigenen Bedürfnisse anpassen. weiter...
PHP Upload: Mit dem FTP verbinden
Im nächsten Block wird die Verbindung zum FTP
Server hergestellt, der Passiv Modus wird aktiviert (wenn kein Passiv
Modus vom Server gewünscht wird, dann statt True, False eintragen) und
schließlich gecheckt ob eine Verbindung zustande gekommen ist. Tritt
hier ein Fehler auf, checkt noch mal alle Parameter, welche ihr am
Anfang bei den Variablen festgelegt habt. Dieser Teil ist wieder in der
allseits beliebten if Anweisung eingebettet, welche erst checkt wenn
der aus dem obigen Formular der Submit Button gedrückt wird.
Auf eine else Zweig verzichte ich, da er dann einfach nix mehr tun muss :-)
if ($submit=="upload") {
// Login am FTP Server
$verbindung = ftp_connect($server);
$login = ftp_login($verbindung,$username,$password);
// Passiv Mode ?
ftp_pasv($verbindung,True);
// Verbindung OK ?
if ((!$verbindung) || (!$login)) {
echo "FTP connection has failed!<br>";
echo "Attempted to connect to server<br>";
die;
} else {
echo "Connected to server.<br>";
}
Sind wir mit dem FTP Verbunden geht’s ans
uploaden der Datei (es kann immer nur eine übertragen werden.). weiter...
PHP Upload: Das Upload Script
Der Before Show Update Event
Kommen wir nun zur bereits angesprochenen upload.php. Diese genieren wir per Hand. Der Editor ist egal, ich bevorzuge WeaverSlave, da dieser Editor für PHP Arbeiten bestens geeignet ist. Außerdem ist er kostenlos. Der gesamte Upload funktioniert im Script mittels FTP. Das hat einen einfach Grund. Auf vielen Servern ist der SafeMode auf ON gestellt und nicht jeder hat Zugriff auf die php.ini um sich der Funktion zu entledigen. Was auch ein schöner Nebeneffekt ist: die Datei wird mit den Rechten des uploadenden Users versehen und hat somit die normalen Datei und Besitzrechte als wenn man sie regulär per FTP uploaden würde. Erstellt einfach eine neue Datei mit folgendem Inhalt, achtet auf Zeilenumbrüche. weiter...
PHP Upload: Im CodeCharge
Die Eigenschaften des Label Feldes
Es gab Zeiten, da war ich wirklich extrem sauer.
Immer wieder die gleichen Probleme. CodeCharge ist zwar eine feine
Sache aber in machen Dingen leider etwas begrenzt und stur. So blieb
mir auch lange Zeit eine einigermaßen vernünftige Möglichkeit des
Dateiuploads verwehrt. Aber mit ein wenig Kenntnis von PHP ist doch
recht einfach ein eigenes Modul dafür zu basteln. Ich gebe zu, die
Lösung ist nicht perfekt, für meine Bedürfnisse reicht sie aber völlig
aus und flexibel ist sie außerdem.
Als erstes müssen wir einige Vorbereitungen im
CodeCharge treffen, ohne die unsere Upload Script leider nicht
funktioniert. weiter...
PHP Thumbnails erzeugen: Das Bildformat
Als nächstes checken wir, ob das Bild Hoch oder Querformat hat und schreiben das Ergebnis in die entsprechende Variable. Da wir erst jetzt alle Daten beieinander haben können wir erst jetzt überprüfen, ob überhaupt ein Thumbnail erzeugt werden muss. Ist das nicht der Fall, wird das Bild direkt ohne Umwege ausgegeben. Achtung bei den Headerfunktionen ! Diese funktionieren nur, wenn zuvor kein anderer Header gesendet wurde, bereits ein Leerzeichen, selbst per include reingeholt, macht die Funktion unmöglich. weiter...
PHP Thumbnails erzeugen: SQL
Nun wird es Zeit, die Daten aus der Datenbank zu
holen und in die Variablen zu schreiben. Sicher könnte man dazu die
CodeCharge Funktion nutzen aber ich will einmal meine eigenen
verwenden, so habe ich mehr Kontrolle darüber.
mysql_connect($Host, $User, $Password);
mysql_select_db($Database);
$result=mysql_query("SELECT * FROM nc_gallery_pic WHERE pic_id=$pic_id");
$bild_db=mysql_fetch_array($result);
mysql_close();
$bild = getimagesize($_SERVER[DOCUMENT_ROOT].$cat_path.$gallery_path."/".$bild_db[pic_name]);
$bildkomplett = $cat_path.$gallery_path."/".$bild_db[pic_name];
$insertfile_id = imageCreateFromPNG("images/lupe.png");
Wie so oft, wird auch hier mit Handles
gearbeitet, wie auch beim vormaligen FTP Script. weiter...
PHP Thumbnails erzeugen: Der Anfang
Fangen wir mit dem Script an. Das ganze Script
basiert darauf, dass die Bilder anhand einer ID aus einer Datenbank
gelesen werden, dort steht der Bildname, in einer anderen Tabelle der
Pfad der Gallery und wieder in einer anderen der Pfad zu
Galerie-Kategorie. Wie das jeder selbst macht bleibt euch überlassen,
ich habe das jedenfalls für unsere Zwecke als am sinnvollsten befunden.
Da das Script eine ID benötigt, müssen wir dem Script diese auch
mitteilen und abprüfen sie übermittelt wurde:
if (!$pic_id)
die("Keine Ahnung welches Bild gemeint ist !");
Auf diese Weise fragt das Script ob die per URL
übermittelte pic_id (zum Beispiel:
http://www.test.de/thmp.php?pic_id=3012 ) leer ist, wenn ja, bricht es
mit obiger Fehlermeldung ab. weiter...
PHP Thumbnails erzeugen: Vorüberlegungen
Einige Infos zum Server und zum PHP Modul.
Zuerst einmal ein paar Vorüberlegungen zu unserem, eigentlich weniger aufwendigem, Vorhaben. Wir müssen zuerst einmal abklären ob, unser Provider die nötigen PHP Extensions unterstützt, ohne diese Info können wir gleich einpacken oder nur noch hoffen das die benötigten Funktionen auch wirklich zur Verfügung stehen. Am schnellsten bekommt man so etwas mit einer kleinen Funktion mit dem sinnigen Namen phpinfo(), heraus. Schreiben wir also eine kleine Datei info.php mit folgendem Inhalt:
<?
phpinfo();
?>
Diese speichern wir sie auf dem Server und rufen sie im Browser auf. weiter...



