我正在构建一个可以上传单个图像或多个图像的函数,具体取决于它是否来自字段数组。
这是函数和调用者:
private function imageUpload($image, $altText, $uploadDir)
{
$uploadDir = (!substr($uploadDir, "/")) ? $uploadDir."/" : $uploadDir;
print_r($_POST[$image]);
if(is_array($_POST[$image]))
{
foreach($_FILES[$image] as $image) //Line 316
{
//$targetPath = $uploadDir.basename($image['name']);
//echo $targetPath;
echo "array";
}
}
else
{
$targetPath = $uploadDir.basename($image['name']);
//echo $targetPath;
echo "not array";
}
}
$this->imageUpload('pei_image', 'pei_alt', '/images/upload/products/');
我尝试在 pei_image[] 字段中使用 1/2 图像字段,但出现以下错误:
遇到 PHP 错误
严重性:通知消息:未定义索引:pei_image
文件名:models/products_model.php
行号:316
遇到 PHP 错误
严重性:警告
消息:为 foreach() 提供的参数无效
文件名:models/products_model.php
行号:316
但是当我打印 $_POST[$image] 时,我得到了一个包含正确数量值的数组。结果如下:
数组([0] => 06 Lect03 WD 概念 - mod SP.png [1] => brtemplate.jpg)
怎么了?
编辑
$_FILES 数组是空的,这是为什么呢?以下是表单中的 2 个图片上传字段:
<input type="file" name="pei_image[]" value="Showing-the-Heavy-horse.jpg" class="imageUpload" onchange="removePreviewButton(this, 2);">
<input type="file" name="pei_image[]" value="Showing-the-Heavy-horse.jpg" class="imageUpload" onchange="removePreviewButton(this, 3);">