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

    ftp_put non ne vuole sapere!! heeelp

    <?
    $ftp_host = 'ftp.miosito.it';
    $connect = ftp_connect($ftp_host) or die("Si è verificato un errore durante la connessione al server ftp");

    $username = 'xxxxxxx';
    $pwd = 'xxxxxxx';
    $login = ftp_login($connect, $username, $pwd) or die("Si è verificao un errore durante l'accesso al server ftp");
    $destination_file = "/file.txt";
    $source_file = "c:/prova.txt";

    ftp_put($connect, $destination_file, $source_file, FTP_ASCII) or die("Errore durante l'upload del file $source_file nel server ftp");

    ftp_quit($connect) or die("Si è verificato un errore durante la chiusura della connessione al server ftp");
    ?>


    ho ricontrollato tante volte ma non riesco a trovare il problema.... il risultato è sempre "Errore durante l'upload del file c:/prova.txt nel server ftp"...

    Io comincio a pensare che sia il mio spazio web ad avere qualche restrizione o robe del genere...

    Le cartelle dove dovrebbe andare il file è settata 777.

    Grazie anticipatemente.

  2. #2
    io per ora in locale sono nelle tue stesse condizioni: ecco un esempio del my script (praticamente è quasi uguale a quello del manule)
    Codice PHP:
    <?php
    // stabilire una connessione
    $ftp_server 'localhost';
    $conn_id ftp_connect($ftp_server); 

    // login con user name e password
    $ftp_user_name 'anonymous';
    $ftp_user_pass '';
    $login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass); 

    // controllo della connessione
    if ((!$conn_id) || (!$login_result)) { 
            echo 
    "La connessione FTP è fallita!";
            echo 
    "Tentativo di connessione a $ftp_server per l'utente $ftp_user_name 
    "

            die; 
        } else {
            echo 
    "Connesso a $ftp_server, utente $ftp_user_name 
    "
    ;
        }

    // upload del file
    $destination_file '/php/zannasweb/Download/upload/';
    $source_file 'C:\Documents and Settings\Administrator\Desktop\esempio.mp3';
    $upload ftp_put($conn_id$destination_file$source_fileFTP_BINARY); 

    // controllo dello stato di upload
    if (!$upload) { 
            echo 
    "Il caricamento FTP non è andato a buon fine!";
        } else {
            echo 
    "Caricato il file $source_file su $ftp_server come $destination_file";
        }

    // chiudere il flusso FTP 
    ftp_quit($conn_id); 
    ?>

  3. #3
    io ho completamente cambiato strada.

    ho risolto con copy().


  4. #4
    e praticamente come fai? L'intenzione mia sarebba quella di scavalcare il problema che oltre un certo limite di default 2M non si possono uppare on line file....

  5. #5
    io ho risolto con il seguente script:

    Codice PHP:
    <?

    // settaggi:

    // Nome della directory

    $d="nomedirectory/";

    // password

    $psw="xxxxxxx";



    // Massima dimensione

    $s=15000;


    // Messaggio Trasferimento del file...

    $c="File inviato!";


    // Messaggio di errore (Dimensione del file al di sopra del limite imposto)

    $err="ERRORE - il file è troppo grande";


    // Messaggio di errore (Non trovato, o Casella-Sfoglia-file vuota)

    $err1="Errore - file non trovato, o casella-sfoglia-file vuota ";


    // Messaggio di OK

    $ok="OK";


    // Messaggio torna-indietro

    $back="Volete inviare altri file?";


    // Numero di uploads simulanei min=1, max=14

    $up=1;

    // fine settaggi.


    if ($pp<>''){
    $p=base64_encode($pp);
    $pp='';
    }
    if (
    base64_decode($p)<>$psw){
    echo 
    "<FORM METHOD=\"Post\" ACTION=\"$PHP_SELF\">\nInserire Password: <input type=password name=\"pp\"> <input type=submit value=\"Login\"></FORM>";
    } else {
    if (
    $d<>''){
    if (!(
    file_exists($d))){ /*variabile di creazione*/
    umask(011);
    mkdir($d,"0777");
    echo 
    "Directory creata!.";
    }
    }
    if (
    $a<>'1'){ 
    echo 
    "<FORM METHOD=\"Post\" ENCTYPE=\"multipart/form-data\" ACTION=\"".$PHP_SELF."?p=".$p."\">\n<input type=hidden name=a value=1>\n";
    $k=1;
    while (
    $k<=$up){
    echo 
    "File $k: <INPUT TYPE=\"file\" NAME=\"file$k\">

    \n"
    ;
    $k++;
    }
    echo 
    "<INPUT TYPE=\"submit\" value=UPLOAD>\n</FORM>";
    } else {
    $k=1;
    while (
    $k<=$up){
    echo 
    "$c File $k";
    $t=$HTTP_POST_FILES["file$k"]['tmp_name'];
    $sz=$HTTP_POST_FILES["file$k"]['size'];
    $n=$HTTP_POST_FILES["file$k"]['name'];
    if (
    $t=='none'){
    echo 
    ": $err1";
    } elseif (
    $sz>$s){
    echo 
    ": $err";
    } else {
    echo 
    " ($n): ";
    copy($t,"$d$n"); /* Copia del file */
    echo $ok;
    }
    echo 
    "
    "
    ;
    $k++;
    }
    echo 
    "

    <a href=\"
    $PHP_SELF?p=$p\">$back</a>";
    }
    }
    ?>
    non funziona sempre, ma nel mio caso è andato bene.
    se guardi in alto trovi i parametri variabili da settare tra cui la dimensione del file da uploadare.
    La password la decidi tu (è solo un form iniziale per impedire acessi non autorizzati) non centra nulla con quella dell'ftp. Infatti la funzione copy non necessita di user e pass. Basta che sia presente sul server.


    Ciao, fammi sapere.

  6. #6
    praticamente non usi ftp.....e quindi la domanda è d'obbligo? ma uploadando i file via ftp si può raggirare la "regola" che $_FILES o $_POST non possono essere + grandi di quanto riportato sul php.ini?

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.