0

我正在尝试编写一个可以上传多个图像的脚本。这是我正在使用的代码。

if(isset($_POST['submit_images'])) {
    $i = 0;
    foreach($_FILES['file'] as $file) {
        $image = new Image();
        $image->member_id = $_POST['id'][$i];
        $image->image_type = "MedlemsBillede";
        $image->attach_file($_FILES['file']);
        if($image->save()) {
            $message = 'Billedet blev uploadet med succes.';
        } else {
            $message  = join("<br />", $image->errors);
        }
        $i++;
    }
}

我的问题在于这个函数调用:

$image->attach_file($_FILES['file']);

该函数如下所示:

public function attach_file($file) {
    if(!$file || empty($file) || !is_array($file)) {
        $this->errors[] = "Der blev ikke uploadet nogen fil.";
        return false;
    } elseif($file['error'] != 0) {
        $this->errors[] = $this->upload_errors[$file['error']];
        return false;
    } else {
        $this->temp_path    = $file['tmp_name'];
        $this->file_name    = str_replace(' ', '_', basename($file['name']));
        $this->file_type    = $file['type'];
        $this->file_size    = $file['size'];
        $this->ts   = date('Y-m-d H:i:s');
        return true;
    }
}

有人知道如何解决这个问题吗?

4

1 回答 1

0

我认为问题出在这一行:

$image->attach_file($_FILES['file']);

您正在迭代 $_FILES['file'] 而不仅仅是 $_FILES

此外,您正在调用您在循环内迭代的数组

调用应该是这样的

$image->attach_file($file);

愿这对你有帮助

于 2012-07-19T16:04:27.667 回答