php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Bilder Upload Schwierigkeiten


 
Huski
18-02-2007, 20:41 
 
Hi Leute,

ich verzweifel hier noch.
Hab beinahe den ganzen Tag das Forum und das Manual gelesen und konnte keine Lösung finden.

Folgendes Problem.

Habe ein Script für Bilder Upload mit Thumbnail Erstellung.
Funktioniert einwandfrei bis ich jedoch die Datei Größe erhöhe.
Größte Datei bisher mit Erfolg getestet 70KB :(

Meine PHP Info sagt: upload_max_filesize 2M 2M

Das heißt doch 2 Megabyte oder nicht??

Hier noch mein upload code:

<form enctype="multipart/form-data" name="Grundstück anlege" method="post" action="function.php?action=grundstueck_anlegen">
<table id="inhalt" width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>Legen Sie hier ein Grundst&uuml;ck an </strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><div align="center">Lage</div></td>
</tr>
<tr>
<td>
<div align="center">
<input name="lage" type="text" id="lage" />
</div></td>
</tr>
<tr>
<td><div align="center"></div></td>
</tr>
<tr>
<td><div align="center">Gr&ouml;&szlig;e</div></td>
</tr>
<tr>
<td><div align="center">
<input name="groesse" type="text" id="groesse" />
</div></td>
</tr>
<tr>
<td><div align="center"></div></td>
</tr>
<tr>
<td><div align="center">Preis
</div></td>
</tr>
<tr>
<td><div align="center">
<input name="preis" type="text" id="preis" />
</div></td>
</tr>
<tr>
<td><div align="center"></div></td>
</tr>

<tr>
<td><div align="center">Bild ausw&auml;hlen </div></td>
</tr>
<tr>
<td><div align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="102400" /> <input name="bild" type="file" id="bild">
</div></td>
</tr>
<tr>
<td><label>
<div align="center">
<input type="submit" name="Submit" value="Anlegen" />
</div>
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</form>

direkt gefolgt von meinem Bearbeitungscode.

# Thumbnail erstellen
function thumbnail($bildlink, $bildname) {

$PicPathIn="../pics/grundstuecke/";
$PicPathOut="../pics/grundstuecke/thumbs/";

// Orginalbild
$bild= $bildlink;

// Bilddaten ermitteln
$size= GetImageSize("$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe= intval($hoehe*$neueBreite/$breite);

if($size[2]==1) {
// GIF
$altesBild= imagecreatefromgif("$bild");
$neuesBild= imagecreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
imageGIF($neuesBild,"$PicPathOut"."$bildname");
}

if($size[2]==2) {
// JPG
$altesBild= ImageCreateFromJPEG("$bild");
$neuesBild= imagecreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$bildname");
}

if($size[2]==3) {
// PNG
$altesBild= ImageCreateFromPNG("$bild");
$neuesBild= imagecreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,"$PicPathOut"."$bildname");
}

}

# Grundstück anlegen
if ($_GET['action'] == grundstueck_anlegen) {
// Bild hochladen
if ( isset( $_FILES['bild'] ) ) {
$bildname = $_FILES['bild']['name'];
$bildsize =$_FILES['bild']['size'];
$bildtmpname =$_FILES['bild']['tmp_name'];
$bildtype =$_FILES['bild']['type'];
$bilderror =$_FILES['bild']['error'];

$target = "../pics/grundstuecke/".$_FILES['bild']['name'];
move_uploaded_file( $bildtmpname, $target ) or die ("Fehler beim Kopieren");
$bildlink = "../pics/grundstuecke/".$_FILES['bild']['name'];
thumbnail($bildlink, $bildname);
$bildlink = "pics/grundstuecke/thumbs/".$_FILES['bild']['name'];
}


Wenn jemand sehen kann was ich falsch gemacht habe, dann helft mir bitte.
Ich bin schon vor lauter Code gucken blind :(

Danke im voraus.

Gruß
Huski

 
Griecherus
18-02-2007, 20:46 
 
Wie lautet denn die Fehlermeldung?
upload_max_filesize, post_max_size und max_execution_time könnten unter Umständen auch interessant sein.

 
Huski
18-02-2007, 20:48 
 
leider bekomme ich mit meinem Script keine richtige Fehlermeldung.

Er meckert nur an, dass die move_uploaded_file nicht funktioniert, da ich hier die "die" Funktion mit eingebaut habe.
Genauere Meldung habe ich leider nicht :(

 
Griecherus
18-02-2007, 20:51 
 
In der Entwicklungsphase immer error_reporting hoch schrauben, also

error_reporting(E_ALL);

ins Skript und dann Fehlermeldung angeben.

 
Huski
18-02-2007, 21:13 
 
Ich glaube den Fehler gefunden zu haben.
Es lag an der Einstellung im Formular.

<input type="hidden" name="MAX_FILE_SIZE" value="102400" />

das sind genau 100 KB. Kein wunder, dass ich nichts über dies hinaus hochladen konnte :)

Aber trotzdem vielen Dank für die Mühe.

Wie gesagt man sieht vor laut Code den Code nicht mehr!

Gruß
Huski

 
jahlives
19-02-2007, 08:41 
 
das sind genau 100 KB. Kein wunder, dass ich nichts über dies hinaus hochladen konnte


Also doch works as designed ;)

Gruss

tobi


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:36 Uhr.