Visualizzazione risultati 1 fino 11 di 11

Discussione: visualizzare testo sotto immagine

  1. #1
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    299

    Predefinito visualizzare testo sotto immagine

    salve, sono sempre io...alla fine qualcuno mi bannera'. sono riuscito finalmente dopo tante prove a recuperare la variabile $_POST ["testo"] da un form dove ho anche l'upload del file. quello che mi chiedevo io e': e' possibile tramite il codice per visualizzare l'immagine far visualizzare anche quello che e' stato scritto nella casella testo?

    il codice upload.php e' questo e insieme allo spostamento del file nella cartella mi scrive anche il testo nel file txt. e' perfetto!

    Codice PHP:
    <?php


    $temp
    = explode(".", $_FILES["file"]["name"]);
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.end($temp));
    header('Location: upload');
    $filename = "dati.txt";
    $handle = fopen($filename, "a");
    fwrite ($handle,$_POST['testo']);
    fwrite($handle, "\r\n");
    header('Location: http://noncecapisco.altervista.org/upload/index.php');

    ?>
    ora... dato che ad ogni immagine caricata corrisponde un testo, e' possibile tramite il comando


    $file = file_get_contents("./dati.txt");
    print nl2br($file);

    far visualizzare l'immagine con il nome sotto? ,ho pensato di inserire il comando print ($file);

    nel codice di index.php.... ho fatto varie prove ma data la mia scarsa competenza in materia non sono riuscito a farlo. posto anche il codice index.php
    Codice PHP:
    <?php

    foreach(glob('./*.{jpg,jpeg,png,gif, JPG }', GLOB_BRACE) as $filename) {
    $nomefile = pathinfo($filename);
    $file = file_get_contents("./annunci.txt");
    echo
    '<a href="'.$filename.'".$file><img src="'.$filename.'"style="width:500; height:440; margin-left:380px; margin-right:80px; margin-top:-310px; padding-right:35px; padding-left:35px; margin-bottom:395px;<br>" alt="'.$nomefile[basename].'" > </a>';

    }
    ?>
    dove lo metto? grazie.
    Ultima modifica di alemoppo : 04-10-2023 alle ore 19.32.56 Motivo: +tag [php]

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

    Predefinito

    Mi sembrava di avertelo già indicato:

    Codice PHP:
    header('Location: <url>');
    Questa riga, esegue il redirect ad un'altra pagina. Qualsiasi cosa tu faccia dopo, non verrà visualizzata perché la pagina cambierà. Probabilmente il codice PHP viene eseguito, ma non è una bella cosa eseguire del codice dopo un redirect.

    Quindi, al più, il codice per mostrare il file dovrai inserirlo nella pagina "upload/index.php"

    Ciao!
    Ultima modifica di alemoppo : 04-10-2023 alle ore 19.35.28

  3. #3
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    299

    Predefinito

    e' normale che esegue il redirect al sito....di base ce' ("location:upload");, e in automatico torna al sito. scusa il visitatore dopo che carica la foto lo faccio fermare alla pagina bianca upload.php? e poi che fa? e comunque la tua soluzione quale'? lo so da solo che devo scriverlo nell'index.php, l'ho scritto nella domanda..il problema e' non so come, se no non l'avrei scritto.sinceramente non capisco le tue risposte.
    Ultima modifica di noncecapisco : 05-10-2023 alle ore 03.36.50

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

    Predefinito

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    scusa il visitatore dopo che carica la foto lo faccio fermare alla pagina bianca upload.php? e poi che fa?
    Avresti potuto anche mostrare i contenuti direttamente in quella pagina: si può (ed è più veloce) fare tutto in un'unica pagina senza dover far fare redirect al browser.

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    lo so da solo che devo scriverlo nell'index.php, l'ho scritto nella domanda..il problema e' non so come, se no non l'avrei scritto.sinceramente non capisco le tue risposte.
    Non conoscendo il contenuto dell'index.php ci è impossibile sapere dove inserire quel codice. Hai provato ad inserirlo? Viene eseguito? È all'interno di una condizione? Hai usato le echo per capire se il codice viene eseguito o cosa viene eseguito?

    Passando al codice vero e proprio, ad ogni iterazione leggi tutto il file "annunci.txt" assegnando il suo contenuto a $file. Dove mostri quel contenuto? In questo modo, scriveresti (se lo facessi) tutto il testo per ogni immagine.

    Dovresti pensare ad una corrispondenza tra testo e immagine: come ti avevo spiegato, in questo caso è bene usare il database, ma se per ora non vuoi usarlo dovresti usare altri metodi: o generare un file di testo per ogni immagine (chiamandolo nello stesso modo?) oppure più complicato, organizzare internamente il file di testo per associare ogni stringa alla sua immagine (json? xml?).

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    e comunque la tua soluzione quale'?
    Raramente scrivo soluzioni già pronte in questi casi: è fondamentale per imparare che tu ci provi da solo debuggando e vedendo cosa non va: possiamo darti linee guida ma il forum non è fatto per scriverti il codice pronto, ma al più per insegnare e fornire strumenti per poter poi farti camminare da solo. Io stesso ho imparato la maggior parte delle cose in questo forum, nel modo appena descritto.

    Ciao!
    Ultima modifica di alemoppo : 05-10-2023 alle ore 08.17.32

  5. #5
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    299

    Predefinito

    a parte il fatto che secondo me non capisci bene quello che uno dice e quello che uno ha postato..1 .. 2 nessuno vuole i codici pronti... il sistema del file txt l'ho sto gia utilizzando per una bacheca sul sito, ma poi... un'altra cosa...secondo te, se io devo insegnare ad una persone come si mettono le marce dell'auto, gli devo prima far smontare tutta la scatola del cambio e fargli capire tutto il sistema meccanico? guarda..io ho 48 anni e di programmazione non ci capisco niente...ma secondo me non sei capace ad insegnare.alle persone gli fai passare la voglia.

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

    Predefinito

    @noncecapisco scusami ma diverge il mio pensiero dal tuo, comunque a parte il fatto che il codice va scritto
    Codice PHP:
    <?php

    $filename
    = "dati.txt";
    $handle = fopen($filename, "ab");
    fwrite ($handle,$_POST['testo']);
    fwrite($handle, "\r\n");
    $temp = explode(".", $_FILES["file"]["name"]);
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.end($temp));
    header('Location: upload/index.php');

    ?>
    Che significa dopo l'inoltro dei dati con metodo POST effettuo un redirect come ultima azione.

    A questo punto il file dati.txt che proviene dal valore della variabile $_POST['testo'] può contenere il nome del tuo utente? Perché
    Codice PHP:
    print_r(nl2br(file_get_contents('./dati.txt')));
    che comunque recupera più di un nome.

    Codice PHP:
    foreach(glob('./*.{jpg,jpeg,png,gif, JPG }', GLOB_BRACE) as $filename) {
    $nomefile = pathinfo($filename);
    $file = file_get_contents("./annunci.txt");
    echo
    '<a href="'.$filename.'".$file><img src="'.$filename.'"style="width:500; height:440; margin-left:380px; margin-right:80px; margin-top:-310px; padding-right:35px; padding-left:35px; margin-bottom:395px;<br>" alt="'.$nomefile['basename'].'" > </a>';

    }
    Ho aggiunto l'apice singolo su basename perché sprovvisto. Che risultato ottieni se il codice è inserito dentro upload/index.php ?

    Nota* anche se sei nuovo nel mondo della programmazione che vuoi imparare e vieni a chiedere qui su un forum di supporto, non è una scusante valida non essere un programmatore. Certo da parte di chi ti aiuta c'è già comprensione ma tu devi metterci del tuo come ad esempio copiare e incollare il codice nel file upload/index.php, discorso diverso se non sai come farlo (che non sai programmare è normale nessuno si aspetta che lo sai fare)

    Per favore puoi rispondere ad un mio quesito? E se l'apprendista non mette mani al cambio, conosci altro modo per inserire le marce? (Non devi rispondere è solo una domanda retorica). Quindi l'apprendista deve metterci del suo.
    Ultima modifica di darbula : 05-10-2023 alle ore 15.22.33 Motivo: Sostituito printf a print_r

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

    Predefinito

    Non capisco la motivazione del perché tu la prenda sul personale. Se cerchi sul forum troverai tantissime discussioni aperte da me quando non sapevo esattamente nulla sulla programmazione, ci siamo passati tutti, chi sul forum chi all'università chi sui manuali.
    Per poterti aiutare, servirebbe che tu rispondessi a queste domande (oltre quelle di darbula):

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non conoscendo il contenuto dell'index.php ci è impossibile sapere dove inserire quel codice. Hai provato ad inserirlo? Viene eseguito? È all'interno di una condizione? Hai usato le echo per capire se il codice viene eseguito o cosa viene eseguito?

    Passando al codice vero e proprio, ad ogni iterazione leggi tutto il file "annunci.txt" assegnando il suo contenuto a $file. Dove mostri quel contenuto? In questo modo, scriveresti (se lo facessi) tutto il testo per ogni immagine.
    Ciao!

  8. #8
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    299

    Predefinito

    non lo so forse parliamo 2 lingue diverse...non sto facendo un caso personale...non voglio codici pronti,NB: anche

    perche' sono io che ho scritto la funzione che mi serve per aprire e per esplorare il contenuto del file.txt ($file

    = file_get_contents("./dati.txt");print nl2br($file);"... non me l'ha data mica nessuno..anzi.. un'altro dopo di te

    mi viene a criticare e mi scrive una funzione per il linguaggio c..(printf)...robba da matti... mi dici che non sai

    il contenuto dell'index.php?... l'ho postato quando ho scritto la prima domanda...cosa vuoi vedere? : il codice per

    visualizzare le foto? o vuoi vedere tutta la pagina dell'index.php? l'ho chiesto per prima domanda: dove lo devo

    mettere per far funzionare questo codice.. te lo ripeto questo codice gia' lo utilizzo per

    scrivere messaggi in una bacheca. quello che io ho chiesto e' come poterlo inserire nel codice delle foto

    sull'index.php o sull'upload.php per poter far stampare anche il contenuto di quello che scrivono e che e' salvato

    sul file.txt. tutto chiaro? NB: ho trovato delle pagine di forum vecchie di 10 anni fa dove tu chiedevi consigli per

    risolvere dei problemi, chi ti rispondeva non ti metteva i link alle enciclopedie o ti rispondeva tutto

    vago come fai tu, ma ti scriveva i codici per farteli provare...capito? se non vi va di rispondere ai messaggi sul

    forum non lo fate ,non vi obbliga nessuno, o almeno credo.

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

    Predefinito

    @noncicapisco ho fatto una svista con la funzione printf di php, adesso è print_r
    Vale quanto menzionato precedentemente da @alemoppo
    Permane il discorso che devi rispondere alle domande, altrimenti non possiamo aiutare.

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

    Predefinito

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    un'altro dopo di te mi viene a criticare e mi scrive una funzione per il linguaggio c..(printf)...robba da matti...
    printf() esiste anche in PHP. Se un utente sbaglia a rispondere non è carino evidenziarlo in questo modo, con roba da matti (che poi la sua risposta non era sbagliata: si può usare printf() per far quel che vuoi fare, magari usando opportunamente la printf ma lasciamo stare).

    Citazione Originalmente inviato da noncecapisco Visualizza messaggio
    mi dici che non sai

    il contenuto dell'index.php?... l'ho postato quando ho scritto la prima domanda...cosa vuoi vedere? : il codice per

    visualizzare le foto? o vuoi vedere tutta la pagina dell'index.php?
    Avevo capito che il secondo codice volessi tu inserirlo in index.php ma non sapevi dove. Invece è proprio il codice di index.php, chiedo scusa.

    Come detto in precedenza, con:
    Codice PHP:
    $file = file_get_contents("./annunci.txt");
    leggi il file e assegni il suo contenuto a $file, che poi se vuoi mostrarlo all'utente dovrai stamparlo, con echo, printf, print o quel che vuoi . Ad esempio, quindi:

    Codice PHP:
    $file = file_get_contents("./annunci.txt");
    echo
    $file;
    O più semplicemente:
    Codice PHP:
    echo file_get_contents("./annunci.txt");
    Dove inserirla? Dipende: vuoi mostrare il testo prima o dopo le immagini? In ogni caso andrebbe fuori dal foreach(), quindi o prima o dopo.
    Sicuramente non lo inserirei nella pagina "upload.php" visto che viene eseguito immediatamente un redirect.

    Tengo a precisare che non "metto link a enciclopedie", si tratta di documentazione ufficiale dove puoi trovare, scorrendo, fondamentali esempi sull'utilizzo della funzione indicata.

    Ciao!
    Ultima modifica di alemoppo : 05-10-2023 alle ore 20.52.09

  11. #11
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    299

    Predefinito

    va bene facciamo pace...ma ti ripeto...il codice $file = file_get_contents("./annunci.txt");echo $file; lo conosco,

    (lo conosco),(lo conosco), te l'ho scritto io... e dato che gia l'ho sto utilizzando per un'altra cosa con esito

    positivo , io ti avevo solo chiesto dove inserirlo perche' non riuscivo a farlo funzionare come nell'altro caso che lo

    utilizzo. tutto qua' grazie. e buona serata.

Regole di scrittura

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