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;
	 		}
Newsletter
Kalender
Juli 2010
M D M D F S S
« Jun   Aug »
 1234
567891011
12131415161718
19202122232425
262728293031