Thema
:
Upload Script bleibt einfach stehen
Einzelnen Beitrag anzeigen
19.09.2008, 12:38
SniperWolf
Neuer Benutzer
Registriert seit: 19.09.2008
Beiträge: 2
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ählt oder das Format oder die Größ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ü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ählt oder das Format oder die Größ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ü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
Öffentliches Profil ansehen
Private Nachricht an SniperWolf schicken
Mehr Beiträge von SniperWolf finden