Ошибка при загрузке изображения на PHP - Неперехваченная ошибка: невозможно получить доступ к пустому свойству в /Blog.php:61 - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь загрузить изображение на свой BD, но когда я пытаюсь это сделать, появляется эта ошибка:
Неперехваченная ошибка: невозможно получить доступ к пустому свойству в /Blog.php:61 Трассировка стека: # 0 / postar. php (11): Posts-> cadPost () # 1 {main} добавлено в /Blog.php в строке 61.

Я действительно не знаю, почему $ this -> $ imagem = $ _FILES ['изображение'] ['имя'] - пустое свойство. Также строка 61 блога. php это $ this -> $ imagem = $ _FILES ['image'] ['name']. Но что ж, вероятно, это ошибка новичка.

Коды ниже:

postar. php

image

Blog. php

<?php

require_once "./Classes/Config.php";

class Posts{

    // Campos do BD

    public $id;
    public $titulo;
    public $descricao;
    public $data;
    public $conteudo;
    public $imagem;
    public $imagem_temp;

    public function cadPost() {
        try{
        $bd = new Conexao();
        $con = $bd->conectar();

        $this->titulo = $_POST["titulo"];
        $this->data = date('Y/m/d');
        $this->descricao = $_POST["descricao"];
        $this->conteudo = $_POST["total"];
        $this->$imagem = $_FILES['image']['name']; //this is the line 61
        $this->$imagem_temp = $_FILES['image']['tmp_name'];

        if($this->imagem != NULL) { 
            move_uploaded_file($this->$imagem_temp, "images/$imagem");
        }

        $sql = $con->prepare("INSERT INTO POSTS(ID, TITULO, DATA_POST, DESCRICAO, CONTEUDO, IMAGEM) VALUES(NULL, ?, ?, ?, ?, ?)");
        $sql->execute(array(
            $this->titulo,
            $this->data,
            $this->descricao,
            $this->conteudo,
            $imagem
        ));

        if ($sql->rowCount() > 0) {

            header("location: ./postar.php?erro=0");

        }else{
            header("location:./postar.php?erro=1");
        }

        }catch(PDOExeception $msg){
            echo "Ocorreu um erro na tentativa de publicar seu POST: ".$msg->getMessage();
        }
    }
}
...