Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106

    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

  2. #2
    O inserisci il file PDF direttamente nel database (è fattibile ma IMHO non la scelta consigliata), oppure vi inserisci semplicemente il path del file che andrai ad usare nei link oppure rinomini il file pdf secondo l'ID del record relativo (es. 1.pdf, 2.pdf, etc.) ed utilizzi l'ID per creare il link.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106
    oppure vi inserisci semplicemente il path del file che andrai ad usare nei link
    allora questa parte mi sembra quella più adatta , ma come dovrei fare ??

    io faccio l'upload di un file con un form html , alla fine il file pdf si ritrova dentro la cartella pdf , ora questo file come lo assegno ad un articolo ??

  4. #4
    Fai l'upload nel momento in cui inserisci l'articolo nel DB. In questo modo ha tutte le informazioni che ti servono quando esegui l'INSERT.

    In alternativa, crea una funzione che, in fase di inserimento/modifica dell'articolo, ti permetta di indicare il nome del file PDF da associarvi.

    In entrambi i casi, devi aggiungere un campo di testo nella tabella dell'articolo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106
    non ho capito bene cosa intendi , però se creo queste tabelle all'interno del database

    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    titolo VARCHAR (100) NOT NULL,
    articolo TEXT NOT NULL,
    nome_file varchar(255) default NULL,
    tipo_file varchar(128) default NULL,
    dati_file blob,

    PRIMARY KEY(id),

    e con un form in html inserisco il nome dell'articolo , l'articolo e il file

    poi action del form sarà verso una pagin phpa che si occupa di rimepire i dati nella tabella mysql , non dovrebbe funzionare ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106
    niente il metodo che ho detto sopra funziona male e non conviene

    questo metodo

    Fai l'upload nel momento in cui inserisci l'articolo nel DB. In questo modo ha tutte le informazioni che ti servono quando esegui l'INSERT.
    come lo realizzo ??

    grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106
    sto provando questo metodo ma credo ci sia qualche errore


    ho creato un file 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>


    ho creato 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]" );
    ?>


    la mia idea sarebbe fare l'upload del file e renominare il file in base all'id della query...
    però sicuramente sbaglio qualcosa nella funziona rename...

    ma cosa ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106
    ok ho ricorretto il codice , ora funziona l'unico problema è nel nuovo nome che da all'immagine che è solo ID , senza estenzione

    rename( '$nome', '[id]' );

    com faccio ha inserire un estenzione .jpg oltre al numero id ??

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Originariamente inviato da thearch
    ok ho ricorretto il codice , ora funziona l'unico problema è nel nuovo nome che da all'immagine che è solo ID , senza estenzione

    rename( '$nome', '[id]' );

    com faccio ha inserire un estenzione .jpg oltre al numero id ??
    $newName = [id] . 'jpeg';
    rename($nome,$newName);
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106
    mi da errore di tipo

    Parse error: parse error in C:\Programmi\EasyPHP 3.0\www\upload.php on line 36


    che corrisponde alla linea

    $newName = [id] . 'jpeg';

    il codice per questa pagina è il seguente

    Codice 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' ); 
    ?>

    grazie per l'aiuto

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.