Если я используюПочему strtolower() не следует PHP строгий стандарт
strtolower(end(explode('.',$_FILES['file']['name'])));
он дает мне ошибку
PHP Строгие стандарты: только переменные должны быть переданы по ссылке в
Я думал, что я просто храню значения в переменных сначала, а затем использую взрываются
$filename = $_FILES['file']['name'];
$filearray = explode('.',$filename);
и она отлично работает
Но у меня есть еще одна линия
strtolower(end($filearray));
Я думал, что он должен дать мне ту же ошибку, я имею в виду, я должен сначала сохранить end($filearray)
в переменной затем используйте эту переменную в strtolower()
,
Но это не дает мне никаких ошибок. Поэтому почему strtolower()
принимает функцию as параметр, и не давая ошибки, может кто-нибудь объяснить почему?
BTW: полностью оффтопик, но raina77ow дал вам уже правильный ответ. Но посмотрите на pathinfo для вашего case => pathinfo ($ _ FILES ["file"] ["name"]). Дает вам массив со всем, что вам нужно (dirname, filename, extenstion и basename) http://php.net/manual/de/function.pathinfo.php –