Einzelnen Beitrag anzeigen
Alt 19.09.2008, 12:38  
SniperWolf
Neuer Benutzer
 
Registriert seit: 19.09.2008
Beiträge: 2
SniperWolf befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank schonmal für deine Hilfsbereitschaft!

Hier ist der Code:

Er ist ein wenig durcheinander aber vielleicht habt ihr ja noch Tipps wie man das besser machen kann...

<?PHP

// Variablen festlegen aus der Form
$userid = $_COOKIE['user'];
$userpw = $_COOKIE['pw'];
$gallery_desc = $_POST["gallery_desc"];
$gallery_title = $_POST["gallery_title"];
$thumb_auswahl = $_POST["radio"];

// Dateigröße Maximum und Minimum
$b_min = 10; // 10 Byte Minimum
$b_max = 3572864 ; // 3,5 MB Maximum

// Zeit Stamp Variablen festlegen
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);


// Die Gallery ID zufallsgenerieren um später die Gallery zu identifizieren
$gallery_id = "";
$pool = "abcdefghijklmnopqrstuvwxyz";
srand ((double)microtime()*1000000);
for(
$index = 0; $index < 5; $index++)
{
$gallery_id .= substr($pool,(rand()%(strlen ($pool))), 1);
}

// Der Temporäre Ordner wo die Bilder zuerst rein sollen.
mkdir("gallery/_temp/".$gallery_id."/");
mkdir("gallery/_temp/".$gallery_id."/big/");
mkdir("gallery/_temp/".$gallery_id."/small/");
$ordnername = "gallery/_temp/".$gallery_id."/";

// Chmod für den Userordner 777 vergeben
chmod($ordnername, 0777);

$a = 0;
// Nun die Dateien Uploaden
foreach($_FILES as $strFieldName => $arrPostFiles)
{
$a = $a + 1;
$type = $arrPostFiles['type'];
// Wenn Datei nicht JPEG ist oder keine Datei gewählt wurde als Fehler ausgeben
if ($type != "image/jpg" and $type != "image/jpeg"){
$a = $a - 1;
echo
"<center><br /><span class=\"grossschrift\"><font color=#FF4848><b>Keine Datei ausgew&auml;hlt oder das Format oder die Gr&ouml;&szlig;e stimmt nicht!</b></font></span><br /></center>"; }
else {
$strFileName = $arrPostFiles['name'];
$strFileTemp = $arrPostFiles['tmp_name'];
// Hier das Bild dann in den Temporären Ordner kopieren
copy ($strFileTemp, $ordnername."big/bild".$a.".jpg");
$Grafikdatei = $ordnername."big/bild".$a.".jpg";

$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];

// Hier das Bild mit Seitenverhältniss verkleinern auf 640xXXX
if($OriginalBreite > $OriginalHoehe) {

$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 640;

// Den Thumbnail auch mit Seitenverhätniss verkleinern
if($OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);

}

else {


$ThumbnailHoehe = 640;

if(
$OriginalHoehe < $ThumbnailHoehe)
{
$ThumbnailBreite=$OriginalBreite;
}


$Skalierungsfaktor = $OriginalHoehe/$ThumbnailHoehe;
$ThumbnailBreite = intval($OriginalBreite/$Skalierungsfaktor);

}

// Hier die Grafik noch mit einem Wasserzeichen versehen...
$Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
ImageJPEG($Thumbnailgrafik, $ordnername."big/bild".$a.".jpg");

$Grafik = ImageCreateFromJPEG($ordnername."big/bild".$a.".jpg");
$Wasserzeichen = ImageCreateFromPNG("images/watermark.png");
imagecopy($Grafik, $Wasserzeichen, imagesx($Grafik)-imagesx($Wasserzeichen), imagesy($Grafik)-imagesy($Wasserzeichen), 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
imagejpeg($Grafik, $ordnername."big/bild".$a.".jpg");

$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 128;

if(
$OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);

$Originalgrafik = imagecreatefromjpeg($Grafikdatei);
$Thumbnailgrafik = imagecreatetruecolor($ThumbnailBreite, $ThumbnailHoehe);
imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
imagejpeg($Thumbnailgrafik, $ordnername."small/bild".$a.".jpg");

// Meldung geben das die Datei erfolgreich hochgeladen wurde
echo "<center><br /><span class=\"grossschrift\"><font color=#33FF33><b>Die Datei $strFileName wurde erfolgreich hochgeladen!</b></font></span><br /></center>";
}
}

// Ein Vorschau Bild erzeugen
$Grafikdatei = $ordnername."big/bild".$thumb_auswahl.".jpg";
if (
file_exists($Grafikdatei)) { echo ""; }
else {
$Grafikdatei = $ordnername."big/bild1.jpg"; }
$Bilddaten = @getimagesize($Grafikdatei);

$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 150;

if(
$OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = @intval($OriginalHoehe/$Skalierungsfaktor);

$Originalgrafik = imagecreatefromjpeg($Grafikdatei);
$Thumbnailgrafik = imagecreatetruecolor($ThumbnailBreite, $ThumbnailHoehe);
imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
imagejpeg($Thumbnailgrafik, $ordnername."preview.jpg");

// Nun soll zur Sicherheit gezählt werden ob sich auch die Dateien im Ordner befinden... Wenn nicht Weiterleiten über den Meta Tag und mit die den code abbrechen
$anzahl_bilder2 = count(glob($ordnername."/big/*jpg"));
if(
$anzahl_bilder2 <= "0") { echo "<meta http-equiv='refresh' content='sekunden_bis_umleitung_erfolgt;URL=profil e_gallery_create_error.php?error=nopics'>"; die; }

// Ansonsten nun den richtigen Ordner erstellen und die dateien dort hin kopieren
mkdir("gallery/".$gallery_id."/");
mkdir("gallery/".$gallery_id."/big/");
mkdir("gallery/".$gallery_id."/small/");
// Chmod f&uuml;r den Userordner 777 vergeben
chmod("gallery/".$gallery_id."/", 0777);

copy($ordnername."preview.jpg", "gallery/".$gallery_id."/preview.jpg");

$Pfad = $ordnername."/big/";
if(
$Verzeichniszeiger = opendir($Pfad)) {
while(
$Datei = readdir($Verzeichniszeiger)) {
if(
$Pfad.$Datei != "." && $Datei != "..") {

@
copy($Pfad.$Datei, "gallery/".$gallery_id."/big/".$Datei);

}
}
closedir($Verzeichniszeiger);
}

$Pfad = $ordnername."/small/";
if(
$Verzeichniszeiger = opendir($Pfad)) {
while(
$Datei = readdir($Verzeichniszeiger)) {
if(
$Pfad.$Datei != "." && $Datei != "..") {

@
copy($Pfad.$Datei, "gallery/".$gallery_id."/small/".$Datei);

}
}
closedir($Verzeichniszeiger);
}

// UNd nun noch ein paar Daten in die Datenbank eintragen
$abfrage1 = "SELECT user_id, user_passwort, user_nickname FROM users WHERE user_id = '$userid'";
$ergebniss1 = mysql_query($abfrage1);

while (
$row = mysql_fetch_array($ergebniss1, MYSQL_NUM)) {

// Die Userdaten Updaten
mysql_query("INSERT INTO gallery (user_id, user_nick, gallery_id, gallery_title, gallery_desc, gallery_datum, anzahl_bilder) VALUES ('$userid', '$row[2]', '$gallery_id', '$gallery_title', '$gallery_desc', '$datum', '$anzahl_bilder')");

}

?> "> <?PHP

// Variablen festlegen aus der Form
$userid = $_COOKIE['user'];
$userpw = $_COOKIE['pw'];
$gallery_desc = $_POST["gallery_desc"];
$gallery_title = $_POST["gallery_title"];
$thumb_auswahl = $_POST["radio"];

// Dateigröße Maximum und Minimum
$b_min = 10; // 10 Byte Minimum
$b_max = 3572864 ; // 3,5 MB Maximum

// Zeit Stamp Variablen festlegen
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);


// Die Gallery ID zufallsgenerieren um später die Gallery zu identifizieren
$gallery_id = "";
$pool = "abcdefghijklmnopqrstuvwxyz";
srand ((double)microtime()*1000000);
for(
$index = 0; $index < 5; $index++)
{
$gallery_id .= substr($pool,(rand()%(strlen ($pool))), 1);
}

// Der Temporäre Ordner wo die Bilder zuerst rein sollen.
mkdir("gallery/_temp/".$gallery_id."/");
mkdir("gallery/_temp/".$gallery_id."/big/");
mkdir("gallery/_temp/".$gallery_id."/small/");
$ordnername = "gallery/_temp/".$gallery_id."/";

// Chmod für den Userordner 777 vergeben
chmod($ordnername, 0777);

$a = 0;
// Nun die Dateien Uploaden
foreach($_FILES as $strFieldName => $arrPostFiles)
{
$a = $a + 1;
$type = $arrPostFiles['type'];
// Wenn Datei nicht JPEG ist oder keine Datei gewählt wurde als Fehler ausgeben
if ($type != "image/jpg" and $type != "image/jpeg"){
$a = $a - 1;
echo
"<center><br /><span class=\"grossschrift\"><font color=#FF4848><b>Keine Datei ausgew&auml;hlt oder das Format oder die Gr&ouml;&szlig;e stimmt nicht!</b></font></span><br /></center>"; }
else {
$strFileName = $arrPostFiles['name'];
$strFileTemp = $arrPostFiles['tmp_name'];
// Hier das Bild dann in den Temporären Ordner kopieren
copy ($strFileTemp, $ordnername."big/bild".$a.".jpg");
$Grafikdatei = $ordnername."big/bild".$a.".jpg";

$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];

// Hier das Bild mit Seitenverhältniss verkleinern auf 640xXXX
if($OriginalBreite > $OriginalHoehe) {

$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 640;

// Den Thumbnail auch mit Seitenverhätniss verkleinern
if($OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);

}

else {


$ThumbnailHoehe = 640;

if(
$OriginalHoehe < $ThumbnailHoehe)
{
$ThumbnailBreite=$OriginalBreite;
}


$Skalierungsfaktor = $OriginalHoehe/$ThumbnailHoehe;
$ThumbnailBreite = intval($OriginalBreite/$Skalierungsfaktor);

}

// Hier die Grafik noch mit einem Wasserzeichen versehen...
$Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
ImageJPEG($Thumbnailgrafik, $ordnername."big/bild".$a.".jpg");

$Grafik = ImageCreateFromJPEG($ordnername."big/bild".$a.".jpg");
$Wasserzeichen = ImageCreateFromPNG("images/watermark.png");
imagecopy($Grafik, $Wasserzeichen, imagesx($Grafik)-imagesx($Wasserzeichen), imagesy($Grafik)-imagesy($Wasserzeichen), 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
imagejpeg($Grafik, $ordnername."big/bild".$a.".jpg");

$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 128;

if(
$OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);

$Originalgrafik = imagecreatefromjpeg($Grafikdatei);
$Thumbnailgrafik = imagecreatetruecolor($ThumbnailBreite, $ThumbnailHoehe);
imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
imagejpeg($Thumbnailgrafik, $ordnername."small/bild".$a.".jpg");

// Meldung geben das die Datei erfolgreich hochgeladen wurde
echo "<center><br /><span class=\"grossschrift\"><font color=#33FF33><b>Die Datei $strFileName wurde erfolgreich hochgeladen!</b></font></span><br /></center>";
}
}

// Ein Vorschau Bild erzeugen
$Grafikdatei = $ordnername."big/bild".$thumb_auswahl.".jpg";
if (
file_exists($Grafikdatei)) { echo ""; }
else {
$Grafikdatei = $ordnername."big/bild1.jpg"; }
$Bilddaten = @getimagesize($Grafikdatei);

$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 150;

if(
$OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = @intval($OriginalHoehe/$Skalierungsfaktor);

$Originalgrafik = imagecreatefromjpeg($Grafikdatei);
$Thumbnailgrafik = imagecreatetruecolor($ThumbnailBreite, $ThumbnailHoehe);
imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
imagejpeg($Thumbnailgrafik, $ordnername."preview.jpg");

// Nun soll zur Sicherheit gezählt werden ob sich auch die Dateien im Ordner befinden... Wenn nicht Weiterleiten über den Meta Tag und mit die den code abbrechen
$anzahl_bilder2 = count(glob($ordnername."/big/*jpg"));
if(
$anzahl_bilder2 <= "0") { echo "<meta http-equiv='refresh' content='sekunden_bis_umleitung_erfolgt;URL=profil e_gallery_create_error.php?error=nopics'>"; die; }

// Ansonsten nun den richtigen Ordner erstellen und die dateien dort hin kopieren
mkdir("gallery/".$gallery_id."/");
mkdir("gallery/".$gallery_id."/big/");
mkdir("gallery/".$gallery_id."/small/");
// Chmod f&uuml;r den Userordner 777 vergeben
chmod("gallery/".$gallery_id."/", 0777);

copy($ordnername."preview.jpg", "gallery/".$gallery_id."/preview.jpg");

$Pfad = $ordnername."/big/";
if(
$Verzeichniszeiger = opendir($Pfad)) {
while(
$Datei = readdir($Verzeichniszeiger)) {
if(
$Pfad.$Datei != "." && $Datei != "..") {

@
copy($Pfad.$Datei, "gallery/".$gallery_id."/big/".$Datei);

}
}
closedir($Verzeichniszeiger);
}

$Pfad = $ordnername."/small/";
if(
$Verzeichniszeiger = opendir($Pfad)) {
while(
$Datei = readdir($Verzeichniszeiger)) {
if(
$Pfad.$Datei != "." && $Datei != "..") {

@
copy($Pfad.$Datei, "gallery/".$gallery_id."/small/".$Datei);

}
}
closedir($Verzeichniszeiger);
}

// UNd nun noch ein paar Daten in die Datenbank eintragen
$abfrage1 = "SELECT user_id, user_passwort, user_nickname FROM users WHERE user_id = '$userid'";
$ergebniss1 = mysql_query($abfrage1);

while (
$row = mysql_fetch_array($ergebniss1, MYSQL_NUM)) {

// Die Userdaten Updaten
mysql_query("INSERT INTO gallery (user_id, user_nick, gallery_id, gallery_title, gallery_desc, gallery_datum, anzahl_bilder) VALUES ('$userid', '$row[2]', '$gallery_id', '$gallery_title', '$gallery_desc', '$datum', '$anzahl_bilder')");

}

?>
SniperWolf ist offline