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

    problema upload file PDF (con DOC, JPG, etc. funziona)

    Ho un sito con con un semplice upload di file.

    In locale funziona.

    Se lo sposto sul server, l'upload funziona per tutti i tipi di file, tranne i PDF...


    Da cosa può dipendere?

    PS: nel codice PHP non ci sono limitazioni di estensione... tanto più che in locale funziona anche coi PDF..





    Idee?

    Grazie
    1,2,3,4,5,10,100 passi!

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    intanto prova a postare il codice...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    8
    ciao...
    ho anch'io lo stesso problema, con immagini tutto ok, con .doc ok, ma file pdf e excel non vengono accettati.. il codice è questo (che tra l'altro ha sempre funzionato...)

    Codice PHP:
    if ($_FILES['file_1']['tmp_name'])
        {
        
    $allowed_types = array("image/gif","image/pjpeg","image/jpeg","images/png","application/pdf","application/msword","application/excel");
        if (!
    in_array($_FILES["file_1"]["type"],$allowed_types))
            {
            
    //$allowed = implode(", ", $allowed_types);
            
    $allowed "no";
            
    header("LOCATION:../index.php?modulo=progetti/modifica.php&type_1=$allowed&idProgetti=$idProgetti");
            exit;
            
    //die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");
            
    }
        
    $file_temp=($_FILES['file_1']['tmp_name']);
        
    $nome_foto=$_FILES['file_1']['name'];
        
    $foto_1=str_replace(" ","_",$nome_foto);
        if (
    $_FILES['file_1']['size'] <= $maxSize)
            {
            
    $vecchioFile_1=$ros['Doc1'];
            if (
    $vecchioFile_1!=""unlink($percorso $vecchioFile_1);
            
    $nuovo_nome=$percorso.$foto_1;
            
    $inviato=copy($file_temp,$nuovo_nome);
            }
        else
            {
            
    // errore il file supera la dimensione massima
            
    $byte_1 $_FILES['file_1']['size']-$maxSize;
            
    header("LOCATION:../index.php?modulo=progetti/modifica.php&byte_1=$byte_1&idProgetti=$idProgetti");
            exit;
            
    //$error = "ERRORE: Il file supera di ".$byte." byte la dimensione massima consentita!";
            
    }
        
    $sql_mod "UPDATE progetti SET Titolo='$Titolo', TitoloMenu='$TitoloMenu', Descrizione='$Descrizione', Doc1='$foto_1' WHERE idProgetti=$idProgetti";
        
    $rs_mod=db_Open($sql_mod,$oCon);
        }
    else
        {
        
    $sql_mod "UPDATE progetti SET Titolo='$Titolo', TitoloMenu='$TitoloMenu', Descrizione='$Descrizione' WHERE idProgetti=$idProgetti";
        
    $rs_mod=db_Open($sql_mod,$oCon);
        } 
    cosa può essere?

  4. #4
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Quanto pesano i vostri files? Qual è il limite del server?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    8
    non è quello il problema.... lo controllo e i file pesano meno di un mega..

  6. #6
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    .. inoltre per l'upload dei file consiglio l'ultilizzo di is_uploaded_file() e move_uploaded_file()

  7. #7
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Esattamente quale errore ottieni? Prova a verificare il mime type di uno di questi pdf per vedere se effettivamente è incluso nell'array dei tipi permessi. In ogni caso posta l'errore ottenuto.
    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    8
    non ottengo errori di script, ma l'errore lo definisco io in base al documento non consentito.
    ho verificato il mime dei pdf ed è questo application/force-download, per i files di excel è application/vnd.ms-excel

    boh... mai sentiti..

  9. #9
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Quindi sei riuscito a risolvere immagino aggiungendo i mime nell'array?

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non so come funziona $_FILES[]['type'], ma se controlla solo l'estensione "contro" una tabella con i mime-types, allora tanto vale controllare solo quella e fare a meno di $_FILES[]['type'] (restringendo anche l'array con i tipi validi alle sole estensioni). Fatti un po' stampare che cosa vede $_FILES[]['type'] e poi, tanto per prova, rinomina un file .pdf in .jpg e fai l'upload... se va a buon fine, allora il mio sospetto (file-type -> estensione -> tabella mimetypes) è fondato e il controllo non dico superfluo (bisogna controllare che cosa viene caricato!!!) ma gestibile in altro modo.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.