• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit getimagesize()

Furien

Mitglied
Hi Community,
ich habe ein Problem mit der Funktion getimagesize().
Es sollen höchstens 100x100px und nur png hochgeladen werden.
Aber wenn ich auf abschicken klicke kommt folgende Fehlermeldung:


Warning: getimagesize() expects parameter 1 to be string, array given in /users/furien/www/upload.php on line 6

könnt ihr mit da helfen?
Hier mein Codeauszug:
PHP:
if (isset($_FILES[$userfilename])) {
    $image = getimagesize($_FILES["sprite"], $info);

    if ( $info[0] > "100" or $info[1] > "100" or $info[2] != 3) {
        echo 'Dein Sprite darf höchstens 100x100px groß sein und muss vom Typ PNG sein.';
    }
}
MfG Furien

EDIT Ach ja ich hätte da noch eine kleine Frage: wie kann bei MySQL die ID Zählung-
d.h. auto increment zurücksetzen, d.h. dass die Zählung wieder von vorne beginnt?
 
Werbung:
naja die fehlermeldung sagt ja schon was das problem ist :D
die funktion erwartet einen string als ersten parameter. du uebergibts aber ein komplettes array und die funktion kann damit nichts anfangen.

es muss ein string mit dem pfad dem image sein. wenn sich die datei im selben ordner befindet sollte es so aussehen:
"grafik.png"

wenn es in einem unterordner ist:
"images/grafik.png"

etc.
gibt doch einfach mal das $_FILES['Sprite'] aus, dann siehste ja was es ist :D
 
Die Datei wurde ja gerade hochgeladen und befindet sich im Server temp Ordner. Ich kann also keine grafik.png oder so schrieben sondern nur dieses
array. Wie soll ich das denn machen??
 
Werbung:
if (isset($_FILES[$userfilename])) {
$image = getimagesize($_FILES["sprite"], $info);

du prüfst ob ein index der in $userfilename stehters gesetzt ist und wenn ja dann nehme einen konstanten index und lese ihn aus? selbst wenn in $userfilename zufällig genau der index "sprite" steht und es das ding wirklich gibt hast du bei $_FILES["sprite"] immernoch einen array der enthält werde die du herausbekommen kannst in dem du volgendes vor dem script ausgibst

echo '<pre>';
$_FILES["sprite"];
echo '</pre>';

du solltest dich vielleicht mal informieren was du überhaupt von den funktionen bekommst, was in $_FILES steht und wie genau man die funktion getimagesize dann benutzen kann. das alles erfährst du auf PHP: Hypertext Preprocessor
 
Aber ich habe es schon oft bei imagehostern gehabt, dass ich nach Upload klicken eine Fehlermeldung bekommen habe, dass die Datei zu groß ist oder den falschen Typ hat. Die machen das doch auch mit getimagesite? Wenn nicht so wie dann?
 
ja die machen das mit getimagesize aber die geben als parameter nicht ein array mit informationen über die hochgeladene datei an sondern einen der parameter des arrays

PHP: Dateiuploads mit POST - Manual

hier ein wenig runter rollen unter das rote kästchen und lesen bitte ^^
 
Werbung:
Zurück
Oben