Jetzt zeige ich euch wie ihr mithilfe von PHP und MySQL ein einfaches Avatar-Skript erstellen könnt. Dieses Tutorial ist nicht ganz so einfach also nur etwas für Fortgeschrittene (wenn man es wirklich verstehen will XD). Vorab: Man kann keine Dateien in MySQL eintragen, da gibt es aber einen Trick XD
Zuersteinmal erstellt ihr einen ordner (
avatars) auf euren Webspace und setzt dort die Rechte auf 777.
Danach geht ihr in PHPMyAdmin und Dort oben in der waagerechten Leiste auf SQL und kopiert diesen Code in des Textfeld, um die avatar-Tabelle zu erstellen:
 | My-SQL Code: |
CREATE TABLE `avatars` (
`id` int(150) unsigned NOT NULL auto_increment,
`timestamp` int(150) NOT NULL,
`endung` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;
Eine neue Tabelle wurde erstellt mit den Feldern: id, timestamp und endung.
Jetzt erstellen wir eine neue Datei
eintragen.php:
<form action="eintragen.php" method="post"
enctype="multipart/form-data">
<b>Neuer Avatar</b><br />
Avatar: <input type="file" name="avatar">
<br />
<input type="submit" value="Neuer Avatar" name="submit">
</form>
<?php
if (isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt,
dann..
if(isset($_FILES["avatar"]["name"])) { // Wenn der Avatar auch
wirklich ausgefüllt ist, dann..
$endung = strstr($_FILES["avatar"]["name"] , "."); // Endung des
Avatars, Stringfunktion wo Punkt
include("db.php"); // db.php includen, um Verbindung zur Datenbank
zu bekommen.
$eintrag = "INSERT INTO avatars (timestamp, endung)
VALUES ('".time()."', '".$endung."')"; // Eintragen in die
Datenbank time() ist der Timestamp
$eintragen = mysql_query($eintrag);
$id = mysql_insert_id();
if (mysql_errno() == 0) { // Wenn MySQL keine Fehler hat dann..
move_uploaded_file($_FILES["avatar"]["tmp_name"],"avatars/".$id.$endung);
// Datei hochladen auf Namen: IdENDUNG in den Ordner avatars
echo "<br />Avatar erfolgreich eingetragen!";
} else { // Wenn MySQL Fehler..
echo "Es ist leider ein Fehler aufgetreten ". mysql_errno() .": ".
mysql_error(); // Fehlerausgabe
}
}
}
?>
Wenn alles gut gegangen ist, können wir bereits Avatare hochladen. Nur blöd, dass sie nicht angezeigt werden. Das ändern wir aber un erstellen
avatars.php:
<?php
include("db.php");
$proseite = 10; // Wieviele Einträge pro Seite?
if(!isset($_REQUEST["seite"])) { // Wenn die Seite leer ist, ist
Seite = 0
$seite = 0;
} else {
$seite = $_REQUEST["seite"];
}
$abfrage = "SELECT * FROM avatars LIMIT ".$seite.",".$proseite; //
Limit fängt bei seite an und zeigt soviele Einträge wie bei proseite
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "<img src=avatars/".$row->id.$row->endung." border=0 alt='am
".date("d.m.Y",$row->timestamp)."'> "; // avatars/idENDUNG ist die url
zum bild. Im alt Befehl steht das Datum!
}
echo "<br /><br />";
$count = 0; // Seitenfunktion, siehe anderes Tutorial
$abfrage = "SELECT id FROM avatars";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
if($count%$proseite == 0) {
$aktuelleseite = $count/$proseite+1;
if($count == $seite) {
echo $aktuelleseite." ";
} else {
echo "<a href=?seite=$count>".$aktuelleseite."</a> ";
}
}
$count++;
}
?>
Jui, die Kommentare sollten alles erklären. Über db.php finder ihr
hier ein Tutorial.
DAS GANZE ERGEBNIS DOWNLOADEN
Die Kommentare sollten alles erklären, ansonsten könnt ihr hier noch Fragen stellen!
bei eintragen.php könnt ihr die dateien eintragen und avatars.php seht ihr die Avas.
neontrauma
... wobei (zumindest bei mir) die eintragen.php den absoluten Pfad zum Avatars-Ordner benötigt (in der Zeilemove_uploaded_file($_FILES["avatar"]["tmp_name"],"avatars/".$id.$endung);.(wie man den absoluten Pfad herausbekommt, wird hier erklärt)
Feines Tut :-)