Visualizzazione risultati 1 fino 4 di 4

Discussione: Upload sul server

  1. #1
    siweb non è connesso Neofita
    Data registrazione
    06-09-2008
    Messaggi
    18

    Predefinito Upload sul server

    Il mio sito si chiama siweb.
    Voglio uploadare un file in una sottocartella tmp (utilizzo php).
    In locale funziona ma su altervista no!
    Utilizzo il seguente codice:

    @copy($ptup, $absolute_path) or die("<div class='riquadro'><b>Errore, file non selezionato o Upload fallito!.....

    e se visualizzo $ptup e $absolute_path vedo:

    $ptup= /membri/.dummy/temp/phpWMinVz
    $absolute_path = /var/www/html/ape/tmp/test.csv

    Cos'é che non funziona?
    Grazie

    Alberto

  2. #2
    Guest

    Predefinito

    Almeno dicci se la variabile $absolute_path è correttamente valorizzata.
    E poi postaci lo script intero, altrimenti non possiamo aiutarti.


    ciao!

  3. #3
    Guest

    Predefinito

    Dopo togli la @ da copy!
    Ciao! ^^

  4. #4
    siweb non è connesso Neofita
    Data registrazione
    06-09-2008
    Messaggi
    18

    Predefinito

    Lo script completo è riportato di seguito.
    Penso che il problema sia soprattutto relativo alle variabili:

    $dcrt=$_SERVER['DOCUMENT_ROOT'];}
    $io= substr($PHP_SELF,strrpos($PHP_SELF,'/'));
    $pth=str_replace("$io","",$_SERVER['SCRIPT_NAME']);

    Come già detto, in locale funziona.
    Vi ringrazio per la disponibilità ad aiutarmi (ho caricato ieri il tutto e questo è l'unico problema che ho incontrato.

    Alberto


    Codice PHP:
    <?php
    require_once"aut.php";
    require_once
    "db_conn.php";

    echo
    "
    <head>
    <link rel='stylesheet' type='text/css' href='mio.css' media='screen'/>
    </head>"
    ;

    $PHP_SELF=$_SERVER['PHP_SELF'];

    if (isset(
    $_FILES['fileup']['name'])) {$fileup=$_FILES['fileup']['name'];}
    if (isset(
    $_FILES['fileup']['tmp_name'])) {$ptup=$_FILES['fileup']['tmp_name'];}
    if (isset(
    $_FILES['fileup']['size'])) {$size=$_FILES['fileup']['size'];}
    if (isset(
    $_SERVER['DOCUMENT_ROOT'])) {$dcrt=$_SERVER['DOCUMENT_ROOT'];}
    $io= substr($PHP_SELF,strrpos($PHP_SELF,'/'));
    $pth=str_replace("$io","",$_SERVER['SCRIPT_NAME']);
    if (isset(
    $_POST['nome_dir'])) {$nome_dir=$_POST['nome_dir'];}
    if (isset(
    $_POST['tp'])) {$tp=$_POST['tp'];}
    if (isset(
    $_POST['nome2'])) {$nome2=$_POST['nome2'];}
    if (isset(
    $_POST['nome'])) {$nome=$_POST['nome'];}
    if (isset(
    $_GET['nome'])) {$nome=$_GET['nome'];}
    if (isset(
    $_GET['job'])) {$job=$_GET['job'];} else {$job="upload";}



    switch (
    $job){

    case
    "upload": // form di immisione messaggi

    echo"<div class='riquadro'>

    <form method=POST action= '
    $PHP_SELF?job=up' enctype=multipart/form-data>
    <b>Carica file dosi temporanee</b><br><br>
    Attenzione! Le precedenti dosi temporanee verranno sostituite!
    <br><br>
    <input type=file name=fileup size='70'>
    <button name=submit type=submit>
    Trasferisci
    </button>"
    ;

    echo
    "<br><br><br><a href='javascript:history.back()' class='bottone'>Annulla</a>
    </form>
    </body>
    </html></div>"
    ;
    break;

    case
    "up":

    if(
    $fileup=='') {echo"Deve essere selezionato il file! <br><br><br><a href='javascript:history.back()' class='bottone'>Indietro</a>";die;}

    $ap1=chr(39);
    $ap2=chr(34);
    $ap3=chr(47);
    $ap4=chr(92);
    $ap=strpos($fileup,$ap1); if($ap!='') {echo"Nel nome presente carattere vietato: $ap1 <br><br><br><a href='javascript:history.back()' class='bottone'>Indietro</a>";die;}
    $ap=strpos($fileup,$ap2); if($ap!='') {echo"Nel nome presente carattere vietato: $ap2 <br><br><br><a href='javascript:history.back()' class='bottone'>Indietro</a>";die;}
    $ap=strpos($fileup,$ap3); if($ap!='') {echo"Nel nome presente carattere vietato: $ap3 <br><br><br><a href='javascript:history.back()' class='bottone'>Indietro</a>";die;}
    $ap=strpos($fileup,$ap4); if($ap!='') {echo"Nel nome presente carattere vietato: $ap4 <br><br><br><a href='javascript:history.back()' class='bottone'>Indietro</a>";die;}

    //$absolute_path=$dcrt.$pth.'/tmp/'.$fileup;
    $absolute_path=$dcrt.$pth.'/tmp/'.$dominio_db.'.csv';

    @
    copy($ptup, $absolute_path) or die("<div class='riquadro'><b>Errore, file non selezionato o Upload fallito!</b>
    <br><br><a href='javascript:history.back()' class='bottone'>Indietro</a></div>"
    );

    $sost=strpos($fileup,' ');
    if(
    $sost!=''){
    $newnome=str_replace(' ','_',$fileup);
    rename($fileup,$newnome);}

    echo
    "<script language='javascript'> window.location.replace('$PHP_SELF?job=load')</script>";die();

    break;

    case
    "load":

    //esempio di caricamento con load
    //$sql='LOAD DATA INFILE "c:/program files/easyphp1-8/www/ape/import.csv" INTO TABLE test FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\r\n"';

    # first get a mysql connection as per the FAQ

    $fcontents = file ('./tmp/'.$dominio_db.'.csv');
    # expects the csv file to be in the same dir as this script

    $con=mysql_connect ($server, $utente, $db_pass) or die (errore_server ());
    $db = mysql_select_db ($dbase, $con) or die (errore_server ());

    $sql="DELETE FROM tmp WHERE Dominio='".$dominio_db."'";
    $res = mysql_query ($sql, $con) or die(mysql_error());

    for(
    $i=0; $i<sizeof($fcontents); $i++) {
    $line = trim($fcontents[$i]);
    $arr = explode("\t", $line);
    #if your data is comma separated
    # instead of tab separated,
    # change the '\t' above to ','

    $sql = "insert into tmp values ('$i$dominio_db','N','$dominio_db',".implode("','", $arr) .")";
    $res = mysql_query ($sql, $con) or die(mysql_error());

    }
    mysql_close($con);
    echo
    "<script language='javascript'> window.location.replace('tmp.php')</script>";die();
    break;

    }

    ?>
    Usa i tag appositi per il codice
    Ultima modifica di seneca : 27-09-2008 alle ore 13.59.15

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •