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

    [PHP] Problema script upload file

    Salve a tutti,
    ho un problema con uno script per l'upload dei file.

    In locale mi funziona, ma quando lo metto sul server aruba non va più.

    Ho controllato un po il codice e penso che il problema sia dal nome temporaneo del file. Me lo faccio stampare e mi da una cosa del tipo "C:\PHP\uploadtemp\php2B23.tmp", mentre con lo stesso script in locale mi stampa "C:/Programmi/EasyPHP1-8\tmp\php36.tmp"

    Devo postare l'intero codice?

    Grazie...

  2. #2

  3. #3
    Siccome mi stampa "Si sono verificati dei problemi durante l'Upload" che è l'else dell'if sulla funzione move_uploaded_file avevo pensato al nome temporaneo del file...


    Codice PHP:
    <?PHP
        
        
    include 'config.php';
        include 
    'opendb.php';

        echo 
    "<link rel=\"stylesheet\" type=\"text/css\" href=\"table.css\">";

        
    mysql_select_db($dbname$conn);

        
    $cartella 'mdb-database/';
        
    $descrizione $_POST['descrizione'];    
        
    $percorso $_FILES['miofile']['tmp_name'];
        
    $nome $_FILES['miofile']['name'];
        
    $tipo $_FILES['miofile']['type'];    
        
    $size $_FILES['miofile']['size'];
        
        if (
    move_uploaded_file($percorso$cartella $nome))
        {
        
    //inserimento in documenti
        
    $query "INSERT INTO documenti (id_doc, nome_doc, descrizione, data_insert) values (\"\", \"$nome\", \"$descrizione\", now())";

        
    mysql_query($query) or die(mysql_error());

        
    $query "FLUSH PRIVILEGES";
        
    mysql_query($query) or die(mysql_error());

        
    //PRENDO L'ID DEL DOCUMENTO APPENA INSERITO
        
    $sql "SELECT `id_doc` FROM `documenti` WHERE `nome_doc` = \"";
        
    $sql .= $nome;
        
    $sql .= "\"";
        
    $result mysql_query($sql$conn);
        
    $row mysql_fetch_array($result);

        
    $iddoc $row['id_doc'];
        
        
        
    //inserimento in documenti_utenti
       
    $lungh_array count($_POST['check']);  
       for (
    $i 0$i $lungh_array$i++)  {
           
        
    $query "INSERT INTO utenti_documenti (id_utente, id_documenti) values (\"";
        
    $query .= $_POST['check'][$i];
        
    $query .= "\", \"$iddoc\")";
        
        
    mysql_query($query) or die(mysql_error());
      
      }

        
    $query "FLUSH PRIVILEGES";
        
    mysql_query($query) or die(mysql_error());
        
    $kb $size/1000;
        
        echo 
    "
        <div align=\"center\">
        <table>
        <caption>Upload documento eseguito con successo</caption>
        <tbody><tr>
        <th scope=\"row\" align=\"right\" ><font color=\"#669999\">Nome file:</font></th>
        <th> 
    $nome </th></tr>
        <tr>
        <th scope=\"row\" align=\"right\" ><font color=\"#669999\">Tipo:</font></th>
        <th> 
    $tipo </th></tr>
        <tr>
        <th scope=\"row\" align=\"right\" ><font color=\"#669999\">Dimensione:</font></th>
        <th> 
    $kb kb </th></tr>
        </table>

        "
    ;

        echo 
    "

    <a href=\"javascript:history.back()\"><font face=\"verdana\" color=\"#669999\"     size=\"1\">[ indietro ]</font></a>    </div>"
    ;
        }
        else
        {
            print 
    "Si sono verificati dei problemi durante l'Upload";
        }


    ?>

  4. #4
    Il problema non è il mio script ma sembrerebbe essere proprio aruba...

    Ho preso lo script per ulpoad "jupload" preso proprio da html.it e messo sul server senza modificarlo, mi da lo stesso problema. Ho anche provato a cambiare cartella di destinazione mettendo la "public" pensando fosse problemi di permessi, ma non cambia niente!

    Avete idee??
    é urgentissimo.


    Grazie a tutti

  5. #5
    Risolto...

    Il problema era proprio aruba.
    Praticamente come path di destinazione del file da uploadare bisogna dare l'indirizzo completo:

    "d:/inetpub/webs/tuodominiocom/public"

    dove al posto di tuodominiocom va il nome del vostro sito senza il punto.

    Potete chiueder il post.

    Grazie

  6. #6
    Su Aruba passa a server linux. Hai molte più opzioni per la gestione degli upload dei file in php e molti meno sbattimenti. Meno paletti e meno limiti rispetto a Windows.


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.