Я пытаюсь написать скрипт PHP, который может загружать несколько файлов.
for($i=0;$i<count($_FILES['uploadimg']['name']);$i++){
$name = $_FILES['uploadimg']['name'][$i];
$type = $_FILES['uploadimg']['type'][$i];
$filepath = $_FILES['uploadimg']['tmp_name'][$i];
$size = getimagesize($filepath);
$img = file_get_contents($filepath);
//insert into database
}
Проблема в том, что переменные заполняются не так, как должны.
Когда я загружаю jpeg "image.jpg", я обнаружил, что переменные имеют следующие значения: (заменяя код базы данных на echo
s и var_export
s)
$name = 'image.jpg'; // good
$type = ''; // not good
$filepath = ''; // not good
$size = false; // not good
$img = false; // not good
Следует отметить, что я понимаю, что $size
и $img
зависят от $filepath
, являющегося допустимым путем к файлу.
Может ли кто-нибудь дать некоторое представление о том, что идет не так или чего мне не хватает? Я целый день играю с кодом и не могу найти решение.
Обновление:
print_r($_FILES)
на 3 изображениях возвращает:
Array (
[uploadimg] => Array (
[name] => Array (
[0] => test1.jpg
[1] => test2.jpg
[2] => test3.jpg
)
[type] => Array (
[0] => image/jpeg
[1] =>
[2] => image/jpeg
)
[tmp_name] => Array (
[0] => /tmp/phpkC6f2F
[1] =>
[2] => /tmp/phpgFrPl8
)
[error] => Array (
[0] => 0
[1] => 1
[2] => 0
)
[size] => Array (
[0] => 238906
[1] => 0
[2] => 237308
)
)
)
Можно ли тогда предположить, что это означает, что изображение слишком велико?