MySQL Вставьте изображение в PHP, функции сообщения возвращают 0 - PullRequest
1 голос
/ 25 мая 2019

Я пытаюсь импортировать изображение профиля для моих пользователей и вставить его в базу данных в формате BLOB-объектов.Но когда я запускаю код и выбираю изображение, я получаю file_get_contents () не может быть пустой ошибкой

Я пробовал много решений из других постов, связанных с этой проблемой, ни один из них не работал.

Контроллер:

public function wijzigen()
{
    $foto = $this->input->post($_FILES['profielfoto']['tmp_name']);

    $fotoContent = addslashes(file_get_contents($foto));

    $id = $this->session->userdata('id');

    $gebruiker = new stdClass();
    $gebruiker->id = $id;
    $gebruiker->profileImage = $fotoContent;

    $this->load->model('gebruiker_model');
    $this->gebruiker_model->update($gebruiker);

Модель:

    function update($gebruiker)
    {
        $this->db->where('id', $gebruiker->id);
        $this->db->update('gebruiker', $gebruiker);
    }

Вид:

 <?php
    $attributes = array('name' => 'mijnFormulier', 'enctype'=>'multipart/form-data', 'method'=>'post', 'accept-charset'=>'utf-8');
    echo form_open('Home/wijzigen', $attributes);
    ?>
    <table>
        <tr>
            <td><?php echo form_label('Profiel Foto:', 'profielfoto'); ?></td>
            <td><input type="file" name="profielfoto" id="profielfoto" required accept=".png"/></td>
        </tr>
        <tr>
            <td></td>
            <td>
                <?php echo form_submit('knop', 'Wijzigen', 'class = "btn btn-login login-formcontrol"'); ?>
            </td>
        </tr>


    </table>
    <?php echo form_close(); ?>

Ошибка:

Severity: Warning

Message: file_get_contents(): Filename cannot be empty

Filename: controllers/Home.php

Line Number: 147

Backtrace:

File: /home/arne/Desktop/WebApplication/CodeIgniter/application/controllers/Home.php
Line: 147
Function: file_get_contents

File: /home/arne/Desktop/WebApplication/CodeIgniter/index.php
Line: 315
Function: require_once

I except an image to be in my database but the post isn't working

Спасибо,

1 Ответ

0 голосов
/ 25 мая 2019

$_FILES и $_POST - это две разные вещи.

$foto = $this->input->post($_FILES['profielfoto']['tmp_name']);

должно быть:

$foto = $_FILES['profielfoto']['tmp_name'];

, и учтите, что это не учитывает ошибки аккаунта, поэтому вывероятно, следует проверить это как само собой разумеющееся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...