У меня есть строка, которая будет содержать имя загрузки файла, например «image.jpg». Я пытаюсь использовать функцию explode, но он возвращает ошибку «explode () ожидает, что параметр 2 будет строкой, массив указан в …»
Я попытался найти причины, почему и сравнивая их с тем, как использование предоставляется на PHP.Net, но безрезультатно.
$upload_extension = end(explode(".", $feature_icon));
вы не можете использовать end()
как вы это делаете
end()
-> Параметры ¶ Массив. Этот массив передается по ссылке, потому что он модифицируется функцией. Это означает, что вы должны передать ему реальную переменную, а не функцию, возвращающую массив, потому что только фактические переменные могут передаваться по ссылке.
так что
$feature_icon ="image.jpg"; $upload_extension = explode(".", $feature_icon); $upload_extension = end($upload_extension); var_dump($upload_extension );
Живой результат
Попробуйте сделать это следующим образом:
$upload_extension = explode(".", $feature_icon); $upload_extension = end($upload_extension);