Aggiungere immagini in un blog fatto in PHP

Pubblicità
U

Utente 399201

Ospite
Buonasera,
Sto realizzando un blog utilizzando PHP e Mysql.
Il problema è che ora devo fare una pagina che permette la creazione di un articoli e, per questi articoli, sono presenti delle foto.
Ho provato a fare delle semplici ricerche sul tema "Upload Image into Database" però mi sta sorgendo una domanda:
è il modo giusto per aggiungere immagini nuove (quindi non presenti nella cartella img del progetto) oppure devo usare un'altro metodo?
 
Ciao, posta un po' di codice così ti sappiamo aiutare meglio :) segui le linee guida di una domanda su stackoverflow

In generale, senza scomodare sistemi di storage in cloud, devi effettuare l'upload dell'img da php, posizionarla sul disco del server, salvarti il path nel db. Tramite l'html <img src={path}>, se impostato correttamente il tuo server/reverse proxy (nginx/apache), si visualizzerà l'immagine


EDIT: aggiungo un paio di link untested delle prime ricerche a caso su google...

https://www.codexworld.com/upload-store-image-file-in-database-using-php-mysql/
https://www.geeksforgeeks.org/how-to-upload-image-into-database-and-display-it-using-php/
https://codewithawa.com/posts/image-upload-using-php-and-mysql-database
 
Codice:
  if(isset($_POST['carica'])) {
    if(!empty($_POST['titolo']) || !empty($_POST['testo']) || !empty($_POST['video']) || !empty($_FILES['immagineArticolo']) || !empty($_FILES['immagineSmall']) || !empty($_FILES['immagineBg'])){
      $titolo = $_POST['titolo'];
      $testo = $_POST['testo'];
      $video = $_POST['video'];
      $tagArticolo = $_POST['tag'];
      $descrizioneHome = $_POST['descrizione'];
      $string = "A".strval(count($arrayArticoli) + 1);
      $data = $_POST['event_dt'];
      $query = "INSERT INTO Articoli(idArticolo,titoloArticolo,testoArticolo,videoArticolo,tagArticolo,dataArticolo,descrizioneHome) VALUES ('".$string."','".$titolo."','".$testo."','".$video."','".$tagArticolo."','".$data."','".$descrizioneHome."')";
      /*if ($queryLogin = $connessione->query($query)) {
        header('location: index.php');
      }*/
      $immagineArticoloname = $_FILES["immagineArticolo"]["name"];
      $immagineArticolotmp_name = $_FILES["immagineArticolo"]["tmp_name"];
      $folder = 'imgBlog/'.$immagineArticoloname;
      if ($queryLogin = $connessione->query("UPDATE Articoli SET immagineArticolo = $immagineArticoloname  WHERE idArticolo = '$string'")) {
        move_uploaded_file($immagineArticolotmp_name, $folder);
        header('location: index.php');
      }

      /*$immagineArticolo = 'imgBlog/' + $_POST['immagineArticolo'];
      $immagineSmall = 'smallImg/' + $_POST['immagineSmall'];
      $immagineBg = 'bg/' + $_POST['immagineBg'];*/
    }else{
        header('location: carica_articolo.php');
    }
  }

Ti giro la parte del codice che carica il nuovo articolo nel DB.
Comunque se ho capito bene prima devo sempre caricare l'immagine sul server dove c'è tutto il sito, giusto?
 
Pubblicità
Pubblicità
Indietro
Top