Visualizzazione risultati 1 fino 3 di 3

Discussione: scelta upload immagine da pc o da url e salvare nel database

  1. #1
    puntifedelta non è connesso Utente giovane
    Data registrazione
    08-10-2020
    Messaggi
    92

    Predefinito scelta upload immagine da pc o da url e salvare nel database

    eccomi di nuovo qui ad affrontare un'altra opzione di studio per me, mi sono accorto tramite una ricerca che è possibile effettuare un upload di una immagine sia da pc che tramite url, se si effettua da pc l'immagine viene salvata sia nel database che in una cartella specifica (fin qui ho visto come si fà), se voglio salvare il percorso di un url che salva sul database anche questa l'ho fatta.

    la mia domanda è questa come faccio a dire alla select e di conseguenza vedere l'immagine ?
    perchè se voglio vedere l'immagine salvata sul db e quindi nella cartella upload uso questo
    Codice PHP:
    <?php
    require_once "config/database.php";
    $result = mysqli_query($link, "SELECT * FROM 1_logo_st where id={$_SESSION['id']} ORDER BY id_logo DESC limit 1");
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    ?>
    Codice HTML:
    <img class="img-responsive" src="/upload/<?php echo $row["img"]; ?>" width="200px;"></div>
    ma se salvo l'immagine con un url sul database come faccio a vedere l'url e quindi modificare questo ?
    Codice HTML:
    <img class="img-responsive" src="/upload/<?php echo $row["img"]; ?>" width="200px;"></div>
    spero di essermi spiegato bene
    come sempre grazie

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Nel database se salvi un percorso può essere mostrato solo quel percorso.
    Percorsi relativi o assoluti nel markup html.
    Se il cliente visuale (browser) è originario nel contesto del markup html espande un percorso relativo a assoluto relativo alla posizione attuale. (se il browser è in root abbina il percorso a root/percorso se href "/percorso" ma non se href "percorso" sarà espanso in http://www.example.compercorso).
    Quindi ti consiglio per non dimenticare la struttura, crea una lista bianca di www.domain.tld o www.domain.tld/user) e quindi modifichi in php tramite la funzione str_replace vecchio percorso al tuo attuale dominio.
    https://www.html.it/pag/16048/i-perc...ti-e-relativi/
    E URL relativo al protocollo https://en.wikipedia.org/wiki/Wikipe...l-relative_URL
    Se ogni percorso può essere limitato per i caratteri compresi in UTF-8 (nel database UTF-8 è da 1 o 3 bytes invece dei 4 bytes della proposta iniziale di unicode). Poiché dovrai gestire in php è buona norma togliere almeno i null bytes come da questa guida
    Codice PHP:
    str_replace(chr(0), '', $input);
    https://www.php.net/manual/en/securi....nullbytes.php e inoltre poiché il suo output è markup html dovresti convertire se l'attributo richiesto te lo indica. la specifica html lo indica. Il classico esempio per l'attributo href è http://www.example.com/?a=0&amp;b=0
    Nel gergo dei programmatori questo si chiama radere lo yak https://www.ralph-dte.eu/2009/02/21/...me-evitare-lo/ (tutte cose annesse al completamento di un sito web).
    Ultima modifica di darbula : 25-08-2021 alle ore 18.55.46

  3. #3
    puntifedelta non è connesso Utente giovane
    Data registrazione
    08-10-2020
    Messaggi
    92

    Predefinito

    ok grazie per la spiegazione, ho risolto il problema aggiungendo 2 script (non sò farlo con uno solo se qualcuno me lo spiega gli sarei grato)

    con questo richiamo l'ultima img inserita nel db che sia con o senza url
    Codice HTML:
      <img class="img-responsive" id="HideImg" src="upload/<?php echo $row["img"]; ?>" width="200px;" onerror="hideImg()">
        <img class="img-responsive" id="HideImg2" src="<?php echo $row["img"]; ?>" width="200px;" onerror="hideImg2()">
    mentre con questo script ed in base all'id dell'immagine viene visualizzata l'ultima e quella precedente viene nascosta
    Codice:
        </script>
        <script>
             function hideImg() {
               document.getElementById("HideImg")
                                 .style.display = "none";
              }
               </script>
               <script>
                    function hideImg2() {
                      document.getElementById("HideImg2")
                                        .style.display = "none";
                     }
                      </script>
    Ultima modifica di puntifedelta : 25-08-2021 alle ore 19.55.14

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •