Visualizzazione risultati 1 fino 10 di 10

Discussione: Sviluppo con PHP o MYSQL

  1. #1
    gtacr non è connesso Neofita
    Data registrazione
    16-06-2022
    Messaggi
    6

    Predefinito Sviluppo con PHP o MYSQL

    Salve, spiego brevemente il problema. Ho creato un sito, in locale, dove ho caricato le prime pagine di un quotidiano in formato jpg. Ho creato quindi un html per ogni mese, aprendo la pagina compaiono, in formato ridotto, tutte le pagine del mese, cliccando su una immagine la stessa viene visualizzata a pieno schermo. Il problema è che dopo alcuni anni, le pagine html stanno crescendo in modo esponenziale. Quale è la soluzione migliore per evitare la duplicazione di pagine html?
    Sviluppare con php la lettura di una cartella contenete tutte le immagini oppure utilizzare MySQL?
    Grazie. Giuseppe.
    Ultima modifica di gtacr : 31-01-2024 alle ore 20.35.25

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,272

    Predefinito

    Ti consiglio di salvare le immagini in una cartella, quindi leggere tramite PHP (glob()? scandir()?) il nome di ogni file e stampare la corrispondente stringa html.

    Se invece ad ogni pagina vuoi mostrare solo una immagine, puoi usare un parametro GET per decidere quale immagine mostrare.

    Ciao!
    Ultima modifica di alemoppo : 31-01-2024 alle ore 20.41.29

  3. #3
    gtacr non è connesso Neofita
    Data registrazione
    16-06-2022
    Messaggi
    6

    Predefinito

    In questo piccolo esempio estraggo i nomi delle immagini di una cartella ma il mio tentativo è di "visualizzarle" dove sbaglio?
    Codice PHP:
    <?php
    $dir
    = "H:\IlFatto\primapg"; // sostituisci con il percorso della cartella contenente le foto
    $parametro = $_GET['Ago23']; // sostituisci con il parametro fornito dall'utente

    // leggi tutti i file nella cartella
    $files = scandir($dir);

    // filtra solo i file che soddisfano il parametro fornito dall'utente
    $filtered_files = array_filter($files, function($file) use ($parametro) {
    return
    strpos($file, $parametro) !== false;
    });

    // stampa i nomi dei file filtrati
    foreach ($filtered_files as $file) {
    echo
    "<img src="$dir/$file" alt="$file"><br>";
    // echo $file . "<br>";
    }
    ?>
    Ultima modifica di alemoppo : 03-02-2024 alle ore 14.50.26

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,272

    Predefinito

    Ma stai lavorando su AlterVista?

    Codice PHP:
    $dir = "H:\IlFatto\primapg";
    Su AlterVista non esiste H:\. Ti consiglio di utilizzare un percorso relativo partendo dal file .php che stai eseguendo.

    Ciao!

  5. #5
    gtacr non è connesso Neofita
    Data registrazione
    16-06-2022
    Messaggi
    6

    Predefinito

    Hai ragione, non dovrei cablare la dir all'interno di un programma. Non sto lavorando in AlterVista, sto utilizzando XAMPP, simulatore dell'ambiente web, in locale.
    Ciao.

  6. #6
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,272

    Predefinito

    Quindi funziona? Se non dovesse funzionare, guarda l'HTML generato. A occhio:

    Codice PHP:
    [echo "<img src="$dir/$file" alt="$file"><br>";
    Dovrebbe essere:
    Codice PHP:
    echo "<img src=\"$dir/$file\" alt=\"$file\"><br>";
    Ciao!
    Ultima modifica di dreadnaut : 05-02-2024 alle ore 23.53.45 Motivo: + \" per l'attributo alt

  7. #7
    gtacr non è connesso Neofita
    Data registrazione
    16-06-2022
    Messaggi
    6

    Predefinito

    Sempre utilizzando XAMPP, ho creato un database in MySQL nel quale ho caricato solo i nomi delle immagini. Utilizzando PHP mi sono connesso al database e, con una query, ho estratto i nomi dei file, il problema è che inserendo il programmino PHP in una struttura HTML mi da "connessione fallita", perché? Dove sbaglio?
    Ciao.

  8. #8
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,272

    Predefinito

    Citazione Originalmente inviato da gtacr Visualizza messaggio
    Sempre utilizzando XAMPP
    Citazione Originalmente inviato da gtacr Visualizza messaggio
    mi da "connessione fallita", perché? Dove sbaglio?
    Hai installato il database? Questo esiste? I parametri di connessione sono corretti? Se lavorassi su AlterVista, i dati sarebbero questi. In locale, dipende da come li hai impostati.

    Ho poi una curiosità: perché salvi i nomi su database quando puoi ricavarli con una funzione di scansione file indicata in precedenza? (questo ha senso se oltre al nome, vuoi salvare altre info come chi l'ha caricata o la data o comunque altre informazioni associate all'immagine).

    Ciao!

  9. #9
    gtacr non è connesso Neofita
    Data registrazione
    16-06-2022
    Messaggi
    6

    Predefinito

    Il PHP esegue la connessione(ok), estrae con una query i nomi delle immagini di un mese, la SELECT costruisce 30/31 stringhe del mese che, inserite in un HTML, al momento dell'esecuzione, mi mostra le immagini delle prime pagine del mese. Quindi il PHP funziona, ma se lo inserisco tale è quale in un HTML, mi da connessione fallita.

    Stringa di esempio costruita con una SELECT:
    <a href="quot1/Ago2201.jpg" ><img src="quot1/Ago2201.jpg" hspace=0.0em height=220em /></a>

    So che potrei fare la stessa cosa scansionando una cartella, volevo sperimentare, avendo avuto esperienze di DB relazionali, Mysql.
    Ciao.

  10. #10
    gtacr non è connesso Neofita
    Data registrazione
    16-06-2022
    Messaggi
    6

    Predefinito

    Descrivo come ho risolto il problema illustrato all’inizio del documento:
    1. una sola pagina HTML che al run chiede “anno” e “mese” relative al mese che voglio caricare
    2. uno script ”elab.js” che riceve i parametri e costruisce il percorso per accedere alla cartella “Dati”
    3. nelle cartella “Dati” ho 12 file per anno, esempio “gen2024.js”
    4. in “gen2024.js” ho tante righe, con istruzione "document.write", quanti sono le immagini del mese da caricare.
    5. ”elab.js”, In funzione del “anno” ”mese” carica le relative immagini

    Ad ogni nuovo mese, con un semplice editor, è sufficiente duplicare il mese precedente e adattarlo al nuovo mese

    Ad ogni nuovo anno e sufficiente aggiungerlo alla pagina HTML

    Ho aggiornato il documento anche se non era necessario.

    Giuseppe

Regole di scrittura

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