Visualizzazione dei risultati da 1 a 8 su 8

Discussione: upload di file pdf

  1. #1

    upload di file pdf

    ciao a tutti,

    ho creato una sezione per inserire in una tabella dei file pdf che poi visualizzo sul sito... il mio problema è che tutto funziona all'infuori dell'inserimento del file pdf...infatti mi dice che NON è un pdf...?

    mi saoreste dare una spintarella?

    grazie
    sandro1492

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    fammi capire: il file pdf viene memorizzato nella tabella e poi non si vede?
    Oppure viene memorizzato come file sul server?
    O non viene memorizzato proprio?

  3. #3
    ciao

    non non viene memorizzato proprio; mentre gli altri dati nome e descrizione si...!

    Mi dice che il file non è pdf?

    grazie mille
    sandro1492

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Ok, partiamo dal principio.
    Immagino che per inviare il PDF venga inserito da un form in un campo file, giusto?
    se è così, fai un print_r($_POST) o print_r($_GET) per vedere cosa arriva nel file action.

  5. #5
    ...
    ti posto il codice che mi rimanda dopo aver compilato i campi e dato invio

    Warning: copy(/pdf/presentazione.pdf) [function.copy]: failed to open stream: No such file or directory in C:\xampp\htdocs\xxx\xxxs\xx\new-pdf-MODI.php on line 133

    inserimento documento non riuscito
    Caricamento documento PDF non riuscito

    Ho provato a fare print_r($_POST) ma non mi esce nulla all'infuori di quello che ti ho postato sopra!

    grazie mille walessio

    sandro1492

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    non so se hai capito ma dovresti fare una modifica alla pagina che viene caricata quando clicchi "invia".

    Comunque, sembra che il problema sia nello spostamento di un file.
    Vabbè, partiamo proprio dal principio, puoi postarmi il codice HTML/PHP del form di invio (la pagina in cui specifichi qual'è il file da uploadare)?

    Deve essere una cosa del tipo:
    Codice PHP:
    <form action="qualcosa.html" >
    <
    input name="miofile" type="file">
    <
    intput type="submit" name="invia" value="invia" >
    </
    form

  7. #7
    grazie...

    avevo intuito anche io che si trattava del file chiamato ma non riesco a capire come risolvere la function.copy e agire sul failed open stream!

    Comunque eccoti il codice del mio form:
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" />
    <h3>Nome documento:</h3>


    <label>inserire un nome per il documento:
    <input type="text" name="prodname" size="70" /></label></p></td></tr>

    <td align="left" valign="top" colspan="2" class="selezione">
    <h3>Descrizione documento:</h3>
    <textarea name="proddesc" style="width:60%; height:50px;">
    </textarea>
    </td>
    </tr>
    <tr>
    <td align="left" valign="top" colspan="2" class="selezione">



    <label>Inserire un documento PDF (max 750Kb):

    <input type="file" name="pdffile" size="70" /></label>
    </p>
    </td>
    </tr>
    <input type="submit" value="Invia i dati" />
    </form>


    Grazie mille
    ciao sandro1492

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    attento però! La funzione file, copia un file in un altro file.
    I file uploadati vengono memorizzati nell'array $_FILES, non direttamente in una cartella sul server. Perchè vengano memorizzati effettivamente in una cartella sul server devi usare move_uploaded_file().



    Codice PHP:
    $miofile=$_FILES["pdffile"];

    //stampo $_FILES per verificare che il file arrivi effettivamente.
    print_r($miofile);
    echo 
    "
    "
    ;

    //controllo che sia un pdf
    if($miofile["type"]!="application/pdf") { echo "il file non è un pdf!
    "
    ; }

    //controllo che il file non sia troppo grande (molto importante negli upload!)
    $bytes_massimi=4000000   //4 milioni di Bytes = 4MB
    if($miofile["size"]>$bytes_massimi) { echo "il file eccede la dimensione di ".$bytes_massimi." Bytes!
    "
    ; }

    //muovo il file verificando che move_uploaded_file torni true
    if( move_uploaded_file($miofile["tmp_name"],"/pdf/".$miofile["name"]) ) {
    echo 
    "file memorizzato con successo";
    }else{
    echo 
    "errore nello spostamento del file";

    Questo per memorizzare il file nella cartella pdf del server.
    Intanto vedi se funziona questo passaggio, poi ti spiego come memorizzarlo nel database.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.