Archiv für Juli 2010
PHP: Einfacher Foto-Upload / Foto-Upload-Script
Hier demonstrieren wir euch kurz und knapp, wie man einen einfachen Upload für Benutzer-Fotos bewerkstelligt.
So könnte das Upload-Formular (HTML) aussehen:
<form name="foto" method="post" action="upload.php" enctype="multipart/form-data"> <p> <b>Foto-Upload:</b><br /> <input type="file" name="pict" /> <input type="submit" name="button" value="Hochladen" /> </p> </form>
Und so sieht das einfache und eher funktioniell aufgebaute PHP-Script (upload.php) für den Foto-Upload aus:
$user['id'] = 1; // Die Id-Nummer des gerade eingeloggten Benutzers
$uploaddir = "uploads/userpics/"; // Der Ordner in den die hochgeladenen Bilder gespeichert werden sollen
// Prüfen ob Bild hochgeladen
if (isset($_FILES['pict']['tmp_name'])) {
// Prüfen ob es sich um ein Bild handelt
if ($size=getimagesize($_FILES['pict']['tmp_name'])) {
$fileends = explode(".",$_FILES['pict']['name']);
$fileend = $fileends[count($fileends) - 1];
$filepath = $uploaddir.$user['id']."_".time().".".$fileend;
if(!move_uploaded_file($_FILES['pict']['tmp_name'],$filepath)){
die ("Die hochgeladene Datei konnte nicht in den Upload-Order verschoben werden!");
} else {
// Altes Foto löschen
if (isset($user['foto']) AND $user['foto'] != "" AND file_exists($user['foto'])) {
unlink ($user['foto']);
}
// Datenbank aktualisieren
mysql_query("UPDATE users SET foto = '".$filepath."' WHERE id = '".$user['id']."';");
$user['foto'] = $filepath;
}
} else {
die ("Bei der hochgeladenen Datei handelt es sich nicht um eine Bild-Datei");
}
} else {
die ("Es wurde keine Datei zum Upload ausgewählt, oder der Upload ist gescheitert!");
}
echo "Das ausgewählte Foto wurde erfolgreich hochgeladen und gespeichert.";
Zu Beachten: Bei diesem Script wird die Benutzer-Datenbank aktualisiert.
Die dazu nötige Datenbank-Tabelle hat den Namen “users” mit mindestens den Feldern “id” und “foto”.
PHP: Berechnung des Alters, bzw. Jahre zwischen zwei Datumsangaben
Mit folgender Funktion kann das Alter einer Person anhand seines Geburtsdatums berechnet werden:
function alter($d_or_timestamp="", $m="", $y=""){
if ($d_or_timestamp > 31) {
$d = date("d", $d_or_timestamp);
$m = date("m", $d_or_timestamp);
$y = date("Y", $d_or_timestamp);
} else { $d = $d_or_timestamp; }
if ($d == "" OR $d == 0) { $d = date("d", time()); }
if ($m == "" OR $m == 0) { $m = date("m", time()); }
if ($y == "") { $y = 0; }
$jahre = date("Y", time()) - $y;
if ($m > date("m", time())) { $jahre--; }
elseif ($m == date("m", time()) AND $d > date("d", time())) { $jahre--; }
return $jahre;
}
Mit dieser Funktion kann die Anzahl Jahre zwischen zwei Datumsangaben berechnet werden:
function jahre($d1_or_timestamp1, $m1_or_timestamp2="", $y1="", $d2="", $m2="", $y2=""){
if ($m1_or_timestamp2 == "") { $m1_or_timestamp2 = time(); }
if ($d1_or_timestamp1 > 31) {
$d1 = date("d", $d1_or_timestamp1);
$m1 = date("m", $d1_or_timestamp1);
$y1 = date("Y", $d1_or_timestamp1);
} else {
$d1 = $d1_or_timestamp1;
$m1 = $m1_or_timestamp2;
}
if ($m1_or_timestamp2 > 12) {
$d2 = date("d", $m1_or_timestamp2);
$m2 = date("m", $m1_or_timestamp2);
$y2 = date("Y", $m1_or_timestamp2);
}
if ($d1 == "" OR $d1 == 0) { $d1 = 1; }
if ($m1 == "" OR $m1 == 0) { $m1 = 1; }
if ($y1 == "") { $y1 = 0; }
if ($d2 == "" OR $d2 == 0) { $d2 = date("d", time()); }
if ($m2 == "" OR $m2 == 0) { $m2 = date("m", time()); }
if ($y2 == "" OR $y2 == 0) { $y2 = date("Y", time()); }
$jahre = $y2 - $y1;
if ($m1 > $m2) { $jahre--; }
elseif ($m1 == $m2 AND $d1 > $d2) { $jahre--; }
return $jahre;
}

Senden...