在mysql表中的两个单独的单元格中存储两个单独的图像

时间:2017-12-26 06:11:28

标签: php mysql

我的表单中有两个不同的字段来收集用户的图像并将其存储在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;
}

1 个答案:

答案 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];