Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Upload di file e informazioni MySQL

    Buona domenica a tutti,

    scrivo per chiedere un consiglio su come strutturare al meglio uno script per l'upload di file su server.
    Ho realizzato un form che - oltre al file da caricare - richiede di inserire un titolo al file, che funge da commento allo stesso.
    Lo script carica le informazioni relative al nome del file e al testo all'interno di un database MySQL mentre il file vero e proprio viene caricato all'interno di una cartella del server.
    Avrei necessità ora che - visualizzando l'elenco dei file contenuti nella cartella - al posto del nome del file venisse visualizzato il titolo che gli è stato assegnato all'atto dell'upload.
    Se ho caricato il file "Pippo.pdf" e gli ho assegnato il titolo "File di prova", vorrei che venisse visualizzato il titolo del file, cliccando sul quale si aprirà il file pdf.
    Da quanto ho avuto modo di leggere in giro, la soluzione più sbrigativa dovrebbe consistere nel caricare anche il file su MySQL, però alcuni deprecano questo tipo di modalità.
    Cosa mi consigliate di fare?
    Posto per completezza di informazioni il codice scritto finora.
    - FORM
    Codice PHP:
    <form enctype="multipart/form-data" action="add.php" method="POST">
    Titolo: <input type="text" name="nome">
     
    File da caricare: <input type="file" name="file">
     
    <
    input type="submit" value="Carica il file"
    </
    form
    - SCRIPT PER CARICARE LE INFORMAZIONI SU SERVER
    Codice PHP:
    <?php

    //Imposto la cartella dove saranno salvati i file
    $target "./prova/";
    $target $target basename$_FILES['file']['name'] );

    //Recupero tutte le informazioni dal Form
    $nome=$_POST['nome'];
    $file=($_FILES['file']['name']);

    //Mi connetto al database
    include ("dbconn.php");

    //Scrivo le informazioni nel database
    mysql_query("INSERT INTO `upload` VALUES ('$nome', '$file')");

    //Carico il file nella cartella
    if(move_uploaded_file($_FILES['file']['tmp_name'], $target)) {

    //Verifico che sia tutto ok
    echo "Il file [b] "basename$_FILES['file']['name']). " [/b] è stato regolarmente caricato.";
    }
    else {
    //Se ci sono problemi, lo dico
    echo "C'è stato un problema nel caricamento del file."; }
    ?>
    - VISUALIZZAZIONE DELLE INFORMAZIONI
    Codice PHP:
    <?php

    //Definisco la cartella dove sono contenuti i file
    $path "prova";

    //Mi connetto al database
    include ("dbconn.php");

    //Apro la cartella
       
    $dir_handle = @opendir($path) or die("Impossibile aprire la cartella [b] $path [/b]");
       echo 
    "Elenco dei file contenuti nella cartella [b] $path [/b] 
    "
    ;

    //Eseguo la query di estrazione dal Database
       
    $query "SELECT * FROM upload";
       
    $risultato mysql_query($query);

    while (
    $file readdir($dir_handle)) 
    {
    while (
    $dati mysql_fetch_array($risultato))
    {
       
    chmod("$path"0777);
       
    $testo=$dati["titolo"];
       echo 
    "[url='$path/$file']$testo[/url]
    "
    ;

    }
    }

    //Chiudo la cartella
    closedir($dir_handle);

    ?>
    Come al solito, grazie per la disponibilità e ancora buona domenica a tutti!

    Luca

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    in effetti sarebbe la maniera piu sbrigativa, tu hai bisogno infatti di una RELAZIONE tra file e titolo.

    puoi anche appoggiarti ad un fiile di testo per una cosa così semplice...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.