PHP Почему после $statement->execute() страница перезагружается, если раньше использовался метод move_uploaded_file()?

Если загружен файл и выполняется mkdir(dirname($imagePath)); или move_uploaded_file(), то когда программа доходит до функции $statement->execute(); страница просто перезагружается, т.е до строки header() программа не доходит. Не могу понять, почему mkdir(...); и move_uploaded_file() так влияет на $statement->execute();. При этом файл все равно перемещается в нужную папку и данные добавляются в базу после $statement->execute();.

if (empty($errors)) {
    if ($imageFile && $imageFile['tmp_name']) {
        $imagePath = 'img/' . randomString(8) . '/' . $imageFile['name'];

        mkdir(dirname($imagePath));
        move_uploaded_file($imageFile['tmp_name'], $imagePath);
    }

    $statement = $pdo->prepare('INSERT INTO products (title, description, image, price, create_date) VALUES (:title, :description, :image, :price, :create_date)');
    $statement->bindValue(':title', $title);
    $statement->bindValue(':description', $description);
    $statement->bindValue(':image', $imagePath);
    $statement->bindValue(':price', $price);
    $statement->bindValue(':create_date', $create_date);

    $statement->execute();
    header('Location: index.php');
    exit;
}

Ответы (0 шт):