1 回答
TA贡献1866条经验 获得超5个赞
您无法理解foreach正在做什么以及如何构造数组。迭代给定数组的每个元素。您说过您的数据如下所示:
$uploadData = [
'filenames' => ["2.jpeg", "3.jpeg"],
'sizes' => ["0.00 MB", "0.00 MB"],
'temp_names' => ["/private/var/folders/np/sln14hvn3tsbzc4kpjjtp17c0000gn/T/phpLVhmBY", "/private/var/folders/np/sln14hvn3tsbzc4kpjjtp17c0000gn/T/phpoifsg0"],
'uploads' => ["/Users/sandro/Documents/bildgalerie/uploads/2.jpeg", "/Users/sandro/Documents/bildgalerie/uploads/3.jpeg"],
];
因此,这是一个包含4个元素的数组。循环的每次迭代都会为您提供一个新元素。第一次迭代得到一个数组,["2.jpeg", "3.jpeg"]然后尝试访问该filenames数组的元素。显然没有一个。
相反,您可以循环遍历以下子数组之一:
foreach ($uploadData["filenames"] as $key => $value) {
if (move_uploaded_file($uploadData["temp_names"][$key], $location . '/' . basename($value))) {
echo 'File uploaded.';
echo '<br>';
}
}
在第一次迭代中,$key将会是0和$value将会是2.jpeg。您可以使用该键来获取其他子数组中的匹配值。
- 1 回答
- 0 关注
- 196 浏览
添加回答
举报