2016-04-17 6 views
0

Hinweis: Nur Variablen sollten durch Bezugnahme in C übergeben werden: \ xampp \ htdocs \ PHP \ processor.php on line 43Warum erhalten Sie diese Mitteilung in PHP

Linie 43 ist: $ extension = Ende (explode (".", strtolower ($ _ FILES ['photoUpload'] ['name'])));

$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$extension = end(explode(".", strtolower($_FILES['photoUpload']['name']))); 

$allowedType = array("image/gif", "image/jpeg", "image/jpg", "image/png"); 

if(!in_array($_FILES['photoUpload']['type'], $allowedType)) 
die ("<br>Unsupported file type!"); 

if(!in_array($extension, $allowedExts)) 
die ("<br>Unsupported file extension!"); 

Antwort

1

Sie müssen den Wert von explode() einer Variablen zugewiesen werden, bevor es zu end vorbei:

$explode = explode(".", strtolower($_FILES['photoUpload']['name'])); 
$extension = end($explode); 

Dies liegt daran, end Bedürfnisse haben einen Verweis und das Ergebnis der explode() kann nicht verwendet werden Als Referenz.

Ende - Einstellen der internen Zeiger eines Arrays auf dem letzten Element

Weitere Informationen unter http://php.net/manual/en/function.end.php.

+1

Sehr schön formuliert –