我的表单中有两个不同的字段来收集用户的图像并将其存储在MySQL表中的两个不同的单元格中。以下程序给我这个错误。请注意,我的计数[$ images]显示结果= 1
036fb3018f.jpg
注意:未定义的偏移量:第43行的1
<input type="file" id="topImg" name="topImg">
<input type="file" id="exampleInputFile" name="featuredImg">
$images = [];
foreach(['featuredImg','topImg'] AS $field){
$permitted = array('jpg', 'jpeg', 'png', 'gif');
$file_name = $file[$field]['name'];
$file_size = $file[$field]['size'];
$file_temp = $file[$field]['tmp_name'];
$div = explode('.', $file_name);
$file_ext = strtolower(end($div));
$unique_image = substr(md5(time()), 0, 10).'.'.$file_ext;
$images[] = $unique_image;
echo $images[0];
echo $images[1]; // Line 43
$images[] = "../images/uploads/".$unique_image;
}
答案 0 :(得分:0)
您必须在for循环外移动回声。 当它进行第一次迭代时,将找不到索引1。
此外,您已为每个循环为数组分配了两个值。
<input type="file" id="topImg" name="topImg">
<input type="file" id="exampleInputFile" name="featuredImg">
$images = [];
foreach(['featuredImg','topImg'] AS $field){
$permitted = array('jpg', 'jpeg', 'png', 'gif');
$file_name = $file[$field]['name'];
$file_size = $file[$field]['size'];
$file_temp = $file[$field]['tmp_name'];
$div = explode('.', $file_name);
$file_ext = strtolower(end($div));
$unique_image = substr(md5(time()), 0, 10).'.'.$file_ext;
$images[] = "../images/uploads/".$unique_image;
}
echo $images[0];
echo $images[1];