PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Upload-script


Arantis
04.01.2005, 08:07:22
Huhu

ich habe ein Problem mit meinem Upload script.
Es ist eine Galerie wo jeder User Bilder hochladen kann.
Funktioniert auch soweit prima... jedoch wenn die Bildgröße höher ist als 1024x768px dann wird das Bild zwar hochgeladen, jedoch das Thumbnail wird nicht erstellt bzw der nachfolgende DB eintrag. Das Bild ist dann auf dem Server... der Rest fehlt aber...
Script Timeout wurde schon erhöht bis zum Anschlag *g* zum test und auch der max upload size ... also daran kann es nicht liegen... gibt es noch was ??

Hier das Script:

$Originalgrafik = ImageCreateFromGIF($Grafikdatei);
$Thumbnailgrafik = ImageCreate($ThumbnailBreite, $ThumbnailHoehe);
0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
$thumbnail = ImageCreate($ThumbnailBreite,$ThumbnailHoehe);
$thumbnail = ImageCreatetruecolor($ThumbnailBreite,$ThumbnailHoehe);
ImageCopyResampled($thumbnail,$Originalgrafik,0,0,0,0,$ThumbnailBreite , $ThumbnailHoehe,$OriginalBreite,$OriginalHoehe);
imagepng($thumbnail, "testings/tn_".$dati);

xabbuh
04.01.2005, 09:18:40
Dann zeig mal das komplette Script und zwar innerhalb von [.php] und [./php] (ohne .).

Arantis
04.01.2005, 12:23:45
Ist etwas unübersichtlich und altes gecode :-)

<?php

include("datenbank.php");
$res = mysql_query("SELECT * from fam_benutzerdaten where b_id=$_SESSION[user_id]");
$regs = @mysql_result($res,0);

$rechte = mysql_query("SELECT * from fam_benutzerdaten where b_id=$_SESSION[user_id]");

if($rechte)
{
while ($data = mysql_fetch_array ($rechte))
{
$brgalli=$data[b_rgalli];
}

if (($regs)&&($brgalli=='j'))
{


//Zeiteinstellung
$Datum = date("d.m.Y");


//Verbindung aufbauen, auswählen einer Datenbank
$link = mysql_connect("localhost", "","")
or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("usr_web6_1") or die("Auswahl der Datenbank fehlgeschlagen");


//Bild: Name, Typ , Groesse, Pfadname, Pfad wo es abgelegt werden soll
$Pfad="testings/screens/$File_Name";
$File_Name=$_FILES['probe']['name'];
$File_Name=$_SESSION[user_id]."_".$File_Name;
$Pfad_Name="testings/screens/$File_Name";
$Groesse=$_FILES['probe']['size'];
$FileType=$_FILES['probe']['type'];

//Bildtyp wird in variable gespeichert und in kleinbuchstaben umgewandelt
$typus = explode (".", $File_Name);
$typus = strtolower($typus[1]);

//Nur jpg , gif erlaubt.. sonst fehler :-)

if (($typus=='jpg') or ($typus=='gif') or ($typus==''))
{
//checken ob ein Bild geladen wurde bzw ob es ok ist
if (isset($_FILES['probe']) and ! $_FILES['probe']['error'])
{ // Alternativ: and $_FILES['probe']['size']

//Datei wird auf den Server geladen
move_uploaded_file($_FILES['probe']['tmp_name'], "$Pfad_Name");


$Grafikdatei = "testings/screens/$File_Name";
$Bilddaten = getimagesize($Grafikdatei);
$pfadi = "testings/screens/";
$dati = "$File_Name";
$tnlink = "testings/";



//Thumbnailerstellung gif jpg

$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 128;
if($OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}
$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);
//Gifformat
if($Bilddaten[2]==1)
{
$Originalgrafik = ImageCreateFromGIF($Grafikdatei);
$Thumbnailgrafik = ImageCreate($ThumbnailBreite, $ThumbnailHoehe);
// ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
// imagepng($Thumbnailgrafik, "testings/thumbs/tn_".$dati);
$thumbnail = ImageCreate($ThumbnailBreite,$ThumbnailHoehe);
$thumbnail = ImageCreatetruecolor($ThumbnailBreite,$ThumbnailHoehe);
ImageCopyResampled($thumbnail,$Originalgrafik,0,0,0,0,$ThumbnailBreite , $ThumbnailHoehe,$OriginalBreite,$OriginalHoehe);
imagepng($thumbnail, "testings/tn_".$dati);
}
//JPGformat
elseif($Bilddaten[2]==2)
{
$Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
$Thumbnailgrafik = ImageCreate($ThumbnailBreite, $ThumbnailHoehe);
// ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
// ImageJPEG($Thumbnailgrafik, "testings/tn_".$dati);
$thumbnail = ImageCreate($ThumbnailBreite,$ThumbnailHoehe);
$thumbnail = ImageCreatetruecolor($ThumbnailBreite,$ThumbnailHoehe);
ImageCopyResampled($thumbnail,$Originalgrafik,0,0,0,0,$ThumbnailBreite , $ThumbnailHoehe,$OriginalBreite,$OriginalHoehe);
ImageJPEG($thumbnail, "testings/tn_".$dati);
}

//Daten werden in die DB eingelesen

$uservorhanden = @mysql_query("SELECT * FROM gall where userid='$_SESSION[user_id]'");
$userda = @mysql_result($uservorhanden,0);
echo"$userda";
if($userda=='')
{
$tndatei = "tn_".$File_Name;
$query_eintragen="INSERT INTO gall (gallid,userid,username,tnlink,tndat) VALUES('','$_SESSION[user_id]','$_SESSION[user_nickname]','$Pfad','$tndatei')";
$result_eintragen=mysql_query($query_eintragen);
}

$galladi = mysql_query("SELECT * from gall where userid=$_SESSION[user_id]");
while ($data = mysql_fetch_array ($galladi))
{
$galerieid = $data[gallid];
}

$query_eintragen="INSERT INTO screens (gallid,bid,SID_Member,postnick,Datum,Datei_Name,Beschreibung,Link,tnl ink) VALUES($galerieid,'','$_SESSION[user_id]','$_SESSION[user_nickname]','$Datum','$File_Name','$Beschreibung','$Pfad','$tnlink')";
$result_eintragen=mysql_query($query_eintragen);
}
}
else{echo"Sie haben versucht ein falsches Format hochzuladen. Es sind nur jpg und gif - Formate erlaubt";}

?>

<h1>Bildupload</h1>
<form action="<?php echo"index.php?auswahl=bildzu"; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="probe">
<p>Beschreibung.</p>
<p align="justify">
<TEXTAREA id="Beschreibung" name="Beschreibung" rows="5" cols="60"></TEXTAREA>
</p>
<input type="submit" name="Eintragen" value="Los!">
</form>
<hr/>
<?php }} ?>

c4
04.01.2005, 12:36:27
Lesen: Original geschrieben von xabbuh
Dann zeig mal das komplette Script und zwar innerhalb von [.php] und [./php] (ohne .).

!!!

xabbuh
04.01.2005, 12:40:04
Und da es so lang ist, wäre eine Auslagerung zum Beispiel nach http://nopaste.php-q.net auch nicht verkehrt.

c4
04.01.2005, 12:41:39
Original geschrieben von xabbuh
Wenn wir schon dabei sind: Rücke (http://tut.php-q.net/einruecken.html) den Code auch ein. Ist er doch. Ich dachte eigentlich schon, dass Du Dich mit HTML so weit auskennst.

xabbuh
04.01.2005, 12:44:25
Original geschrieben von _c_4_
Ist er doch. Ich dachte eigentlich schon, dass Du Dich mit HTML so weit auskennst.
Hätte ich in den Quelltext geschaut...