Fehler in Zeile 51 - upload.item.php

Ich habe folgendes problem .

Warning : basename() expects parameter 1 to be string, array given in /homepages/32/d377566025/htdocs/SB/customers/upload.item.php on line 51

Zeile 51

$screensots = basename($_FILES[‚scr‘][‚name‘]);

Hallo,

Warning : basename() expects parameter 1 to be string, array
given in
/homepages/32/d377566025/htdocs/SB/customers/upload.item.php
on line 51

basename() erwartet eine Zeichenkette, du hast aber einen Array übergeben.

Zeile 51

$screensots = basename($_FILES[‚scr‘][‚name‘]);

Ins Blaue geraten:
$screensots = basename($_FILES[‚scr‘].$_FILES[‚name‘]);

Cheers, Felix

Danke Dir :wink:

Tach,

Dein $_FILES Array wird leer sein, kann man mit is_array($_FILES) prüfen, oder mit count() > 0 prüfen, bevor man basename() benutzt.

Ansonsten wenn dein Arrayschlüssel [‚scr‘][‚name‘] doch gesetzt ist und leer ist kannst du auch in kombination dazu !is_empty() dazu benutzen.

Also in etwa so:

if( is_array($_FILES) && !is_empty($_FILES[‚scr‘][‚name‘] ){

$screensots = basename($_FILES[‚scr‘][‚name‘]);

}else{…

Hallo,

möglicherweise ist ’ scr’ im array $_FILES nicht vorhanden (eventuell falsch geschrieben).

Hast Du den Inhalt des array $_FILES zur Kontrolle ausgegeben?
print_r($_FILES);

l.g.

Uhhm? $_FILES ist das Array mit den Fileuploads.
http://us2.php.net/manual/de/features.file-upload.po…
wenn das vorher niemand manipuliert hat, sollte in $_FILES[‚scr‘][‚name‘] der dateiname eines uploads vom clientsystem stehen - und weil manche browser da den ganzen pfad reinschreiben, muss man basename anwenden.

der fehler ist also vorher, weil in $_FILES[‚scr‘][‚name‘] einfach kein array sein sollte…

1 Like