Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Mysql e upload file problema inspiegabile

    Ciao per piacere datemi una mano perchè sono nella ..... , infatti ho sviluppato un lavoro di gestione documentazioni in area riservata con una policy di autorizzazione alla visualizzazione per gruppi.
    Il sito l'ho sviluppato sul mio spazio web che utilizzo per l'implementazione e le prove (spazio aruba), funziona tutto alla perfezione, poi lo carico sul server del cliente (o meglio lo fa lui), e funziona tutto tranne l'upload dei file, ora ho controllato che il database (mysql) fosse perfettamente allineato al mio, che non ci fossero errori nelle pagine ma niente, ora mi viene il sospetto che sul server del cliente debba essere caricata qualche estionsione php che non c'è.

    Il problema lo da qui:

    codice:
    if (basename($_FILES['file_binario']['type']) == "pdf" or basename($_FILES['file_binario']['type']) == "PDF" and $contr!=1)
    {
    
    $result = @mysql_query("INSERT INTO file_binari (Descrizione, data, DatiBinari, Nome, Size, Type)
    VALUES ('" . $_POST["Descrizione"] . "',
    '" . $dataora . "',
    '$data',
    '" . $_FILES["file_binario"]["name"] . "',
    '" . $_FILES["file_binario"]["size"] . "',
    '" . $_FILES["file_binario"]["type"] . "')")
    or die("Query di inserimento fallita !");
    
    echo "Il file " . basename($_FILES["file_binario"]["name"]) . " è stato correttamente inserito nel Database.";
    @mysql_close();
    
    }
    else echo "
    Per questioni di sicurezza non si possono uplodare file con estensione diversa da PDF , torna alla pagina precedente 
     ";
    }
    else 
    {
    echo "
    Devi selezionare obbligatoriamente un gruppo di appartenenza del File, torna alla pagina precedente 
     ";
    $controllo = 1;
    }
    Qualunque sforzo faccia mi da sempre l'ultimo errore cioè che devo selezionare un gruppo di appartenenza per uplodare un file.
    Nel codice non ci sono errori (almeno credo) perchè su aruba funziona.
    Dovrebbe essere sicuramente un problema di estensioni o permessi, qualche idea?
    grazie

  2. #2
    mi sa che hai dimenticato di postare un pezzo di codice.
    Infatti la struttura degli if che postato è

    Codice PHP:

    if ()
    {
        ...
    }
    else
    {
        ...
    }
    else
    {
       ...

    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  3. #3
    Si perchè non ho riportato volutamente la parte prima, cmq ora la riporto per intero, cmq grazie uguale.

    codice:
    include("includedb.php3"); 
    mysql_select_db($dbname) or die("Selezione Database fallita !");
    
    // MEMORIZZIAMO NELLA VARIABILE $data IL CONTENUTO DEL FILE
    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));
    
    // ESEGUIAMO LA QUERY DI INSERIMENTO
    $dataora = null;
    $dataora = date(timestamp);
    if ($link)
     {
    
    
    if (basename($_FILES['file_binario']['type']) == "pdf" or basename($_FILES['file_binario']['type']) == "PDF" and $contr!=1)
    {
    
    $result = @mysql_query("INSERT INTO file_binari (Descrizione, data, DatiBinari, Nome, Size, Type)
    VALUES ('" . $_POST["Descrizione"] . "',
    '" . $dataora . "',
    '$data',
    '" . $_FILES["file_binario"]["name"] . "',
    '" . $_FILES["file_binario"]["size"] . "',
    '" . $_FILES["file_binario"]["type"] . "')")
    or die("Query di inserimento fallita !");
    
    echo "Il file " . basename($_FILES["file_binario"]["name"]) . " è stato correttamente inserito nel Database.";
    @mysql_close();
    
    }
    else echo "
    Per questioni di sicurezza non si possono uplodare file con estensione diversa da PDF , torna alla pagina precedente 
     ";
    }
    else 
    {
    echo "
    Devi selezionare obbligatoriamente un gruppo di appartenenza del File, torna alla pagina precedente 
     ";
    $controllo = 1;
    }

  4. #4
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    La prima cosa che mi viene in mentre è basename:
    qui nn lo usi :
    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));

    mentre sucessivamente lo usi, per me nn è necessario.

  5. #5
    sicuro di gestire il file con estensione .php3???

    quel if($link) dovrebbe essere (si presume) il thread id# della connessione al database.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    No piero il link è l'id della checkbox selezionata del gruppo a cui sivuole associare il file.
    Però quello che veramente non capisco è perchè sul mio funziona e su quello del cliente no.
    cmq grazie

  7. #7
    Originariamente inviato da zakros
    La prima cosa che mi viene in mentre è basename:
    qui nn lo usi :
    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));

    mentre sucessivamente lo usi, per me nn è necessario.
    quindi come dovrei fare? :master:

  8. #8
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Fai una prova e toglilo dove ce'

  9. #9
    forse perchè nel server del tuo cliente la direttiva register_global è OFF.

    Questa direttiva permette di accedere agli elementi degli array globali $_POST $_GET
    con le variabili associate.

    Ad esempio invece di usare $_POST['link'] puoi usare $link

    Quando questa direttiva è off non puoi + fare questo
    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  10. #10
    ghiaccio provo e ti faccio sapere

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.