Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: upload pdf

  1. #1

    upload pdf

    Ciao, ho un problema con l'upload dei pdf, uso lo stesso codice che utilizzo per fare l'upload delle immagini ( funzionante ), il codice è questo:
    Codice PHP:
    $dir=$_SERVER['DOCUMENT_ROOT'].'/public';     
    $filepdf=$id.'doc'.$_FILES['pdf']['name'];     
    if(
    trim($_FILES["pdf"]["name"])=='')     {die("non hai indicato il file");}     

    $tipi_consentiti=array('file/pdf'); // ho modificato solo questa riga    

    if(!in_array($_FILES['pdf']['type'],$tipi_consentiti))     {die('tipo file non consentito pdf');}           
    if(
    is_uploaded_file($_FILES["pdf"]["tmp_name"]))     {     
    move_uploaded_file($_FILES["pdf"]["tmp_name"],$dir.'/'.$filepdf) or die('errore'); 
    $sql='UPDATE attivita SET att_pdf="'.$filepdf.'" WHERE att_id='.$id;     
    mysql_query($sql);     } 
    quando carico il file mi esce l'errore ''tipo file non consentito pdf'', perchè? chi può aiutarmi? grazie ciao
    5ym0

  2. #2
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Fai un print_r di FILES['pdf'] e vedi qual'è il tipo... anche se dovrebbe essere application/pdf.

  3. #3
    allora...non so spiegarti il motivo ma se faccio:

    if(!in_array(print_r($_FILES['pdf']['type']),$tipi_consentiti));

    mi carica il pdf e lo inserisce nel db, e stampa application/pdf....se tolgo il print_r mi esce il messaggio file non consentito pdf...? :|
    5ym0

  4. #4
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Codice PHP:
    $dir=$_SERVER['DOCUMENT_ROOT'].'/public';      
    $filepdf=$id.'doc'.$_FILES['pdf']['name'];      
    if(
    trim($_FILES["pdf"]["name"])=='')     {die("non hai indicato il file");}      

    $tipi_consentiti=array('application/pdf'); // ho modificato solo questa riga     

    if(!in_array($_FILES['pdf']['type'],$tipi_consentiti))     {die('tipo file non consentito pdf');}            
    if(
    is_uploaded_file($_FILES["pdf"]["tmp_name"]))     {      
    move_uploaded_file($_FILES["pdf"]["tmp_name"],$dir.'/'.$filepdf) or die('errore'); 
    $sql='UPDATE attivita SET att_pdf="'.$filepdf.'" WHERE att_id='.$id;      
    mysql_query($sql);     } 

  5. #5
    chiedo scusaaaaaaaaa avevo fatto un errore stupidissimo....''applicatioUn/pdf''...funziona correttamente ora...grazie. Un'altra domanda, come posso fare per sovrascrivere il file pdf? ovvero..do la possibilità di caricare un pdf per volta, quando ne carico uno nuovovorrei che quello vecchio si cancellasse...invece ora mi rimane dentro la cartella public inutilizzato..come posso fare?
    5ym0

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mi intrometto per la nuova domanda...

    PRIMA DI ACCORGERMI DEL DB AVEVO PROPOSTO:
    supponendo - da quanto capisco - che non hai memorizzato da nessuna parte il nome del pdf... questo cancella TUTTI i ".pdf": se ce n'è uno solo, solo quello

    Codice PHP:
    if ($dh opendir($dir)) {
      while (
    false !== ($file readdir($handle))) {
        
    $fr $dir.'/'.$file;
        if ((
    is_file($fr)) && (substr($fr, -44)=='.pdf')) {
          
    unlink ($fr);
        };
      }
    }; 



    MA IN EFFETTI PUOI FARE:
    prima dell'update sul db:

    $sql='SELECT att_pdf FROM attivita WHERE att_id='.$id; eseguirla, e recuperare il nome del pdf, diciamo in $vecchiopdf

    dopodichè:
    Codice PHP:
    unlink ($dir.'/'.$vecchiopdf); 

  7. #7
    Scusa mi spiego meglio, è un'area riservata, ogni utente può caricare UN solo pdf, tutti i pdf vengono caricati nella cartella public sul server, e vengono richiamati dal db dove salvo il nome, quando un utente carica il suo pdf andrà quindi a metterlo nella cartella public e verrà segnato nel suo record del db, nel caso lo voglia sostituire basta che ne carica uno nuovo, nel db viene sostituito il nome del pdf, ma nella cartella public non fa altro che metterne uno in più, sena togliere quello vecchio...a lungo andare diventa un mattone quella cartella se non trovo una soluzione...
    5ym0

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    vedi la mia risposta di sopra dopo "MA IN EFFETTI PUOI FARE"

  9. #9
    ah ok scusa non avevo visto, provo poi ti facico sapere grazie !
    5ym0

  10. #10
    Ok ho provato funziona perfettamente, grazie mille. già che ci sono, sai anche come creare una cartella per ogni utente? prima di uploadare il file come posso fargli creare una cartellina dove inserire il pdf?
    5ym0

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.