• User

    Assegnare ad ogni articolo un file PDF

    Buongiorno , sto creando un sito web ad articoli con php e mysql
    ad ogni articolo dovrei assegnare un file PDF , che poi visualizzando l'articolo tramite un link dia la possibilità di scaricare il file pdf assegnato.

    In termini pratici come si fa ?? inserire il file pdf nel database mysql credo sia impossibile , quindi come fare ??

    grazie


  • ModSenior

    Ciao the arch,

    Puoi utilizzare la classe FPDF.


  • User

    Ma non devo gestire dei pdf , devo "semplicemente" creare un pannello d'amministrazione che mi dia la possibilità di scrivere un articolo.

    Esempio : titolo articolo , e testo articolo

    e in più io possa fare l'upload di un file pdf che sarà assegnato a questo articolo.

    Ora stavo testando questa idea , ma ci deve essere qualche errore.

    Ho creato index.html

    <form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="miofile">
    <input type="text" name="titolo" />
    <input type="submit" value="Upload">
    </form>

    e poi upload.php

    <?PHP

    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');
    
    // recupero alcune informazioni sul file inviato
    $titolo = $_POST['titolo'];
    
    // query per inserire il file nel DB
    $query = "INSERT INTO viaggiprova SET
                titolo = '$titolo'"; 
    
    mysql_query($query)
    OR die('Query non valida: ' . mysql_error());
    
    
    // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
    
    $cartella = '';
    $percorso = $_FILES['miofile']['tmp_name'];
    $nome = $_FILES['miofile']['name'];
    
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
    if (move_uploaded_file($percorso, $cartella . $nome))
    {
        print "Upload eseguito con successo"; 
    }
    else
    {
        print "Si sono verificati dei problemi durante l'Upload"; 
    }
    rename( '$nome', '[id]' ); 
    

    ?>

    Vorrei cambiare il nome del file che passo , nel corrispondende ID della query , cosi poi creo una pagina view.php dove richiamo il titolo e il file in base all'id ...

    Però la funziona rename mi fa errore , sicuramente la scrittura delle variabili credo , qualcuno può aiutarmi ??


  • ModSenior

    [php]
    <?PHP

    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');
    
    // recupero alcune informazioni sul file inviato
    $titolo = $_POST['titolo'];
    
    // query per inserire il file nel DB
    $query = "INSERT INTO viaggiprova SET
                titolo = '$titolo'"; 
    
     mysql_query($query)
    OR die('Query non valida: ' . mysql_error());
    

    $id = mysql_insert_id();

    // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
    
    $cartella = '';
    $percorso = $_FILES['miofile']['tmp_name'];
    $nome = $_FILES['miofile']['name'];
    
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
    if (move_uploaded_file($percorso, $cartella . $id))
    {
        print "Upload eseguito con successo"; 
    }
    else
    {
        print "Si sono verificati dei problemi durante l'Upload"; 
    }
    rename( '$nome', '[id]' ); 
    

    ?>
    [/php]


  • User

    image


  • User

    image


  • ModSenior

    Il rename puoi toglierlo.

    Attento alle maiuscole, in modo da aiutarci a rendere il forum più leggibile.
    Grazie.


  • User

    image


  • ModSenior

    Devi incollare tutto l'errore, ed il codice, altrimenti è impossibile aiutarti.


  • User

    image


  • User

    Questo è il codice attuale

    [PHP]
    <?PHP

    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi')) 
    die('Selezione database fallita!'); 
    
    // recupero alcune informazioni sul file inviato 
    $titolo = $_POST['titolo']; 
     
    // query per inserire il file nel DB 
    $query = "INSERT INTO viaggiprova SET 
                titolo = '$titolo'";  
    
     mysql_query($query) 
    OR die('Query non valida: ' . mysql_error()); 
    $id = mysql_insert_id(); 
    
    // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD 
    
    $cartella = ''; 
    $percorso = $_FILES['miofile']['tmp_name']; 
    $nome = $_FILES['miofile']['name']; 
     
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO 
    if (move_uploaded_file($percorso, $cartella . $id)) 
    { 
        print "Upload eseguito con successo";  
    } 
    else 
    { 
        print "Si sono verificati dei problemi durante l'Upload";  
    } 
    $newName = [id] . 'jpeg'; 
    rename( '$nome', '$newName' );  
    

    ?>
    [/PHP]

    però nella stringa $newName = [id] . 'jpeg';
    mi da errore** parse error**.


  • ModSenior

    [php]
    <?PHP

    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');
    
    // recupero alcune informazioni sul file inviato
    $titolo = $_POST['titolo'];
    
    // query per inserire il file nel DB
    $query = "INSERT INTO viaggiprova SET
                titolo = '$titolo'"; 
    
     mysql_query($query)
    OR die('Query non valida: ' . mysql_error());
    

    $id = mysql_insert_id();

    // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
    
    $cartella = '';
    $percorso = $_FILES['miofile']['tmp_name'];
    $nome = $_FILES['miofile']['name'];
    
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
    if (move_uploaded_file($percorso, $cartella . $id.'.jpeg'))
    {
        print "Upload eseguito con successo"; 
    }
    else
    {
        print "Si sono verificati dei problemi durante l'Upload"; 
    }
    

    ?>
    [/php]


  • User

    image