0

UploadiFive を使用して、別の Web サーバーから FTP サーバーにファイルをアップロードしようとしています。StackOverflow に関するこの質問は、この問題に対処しますが、問題を解決しません。UploadiFive からファイルをアップロードするために、次のコード (前述の質問から取得) を使用しています。

if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];                          // 1

//$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';  // 2
//$targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; // 3


$ftp_server = "***";  //address of ftp server.
$ftp_user_name = "***"; // Username
$ftp_user_pass = "***";   // Password
$conn_id = ftp_connect($ftp_server);
ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
ftp_pasv ( $conn_id, true );

if( ftp_fput($conn_id, 'TEST/' . $_FILES['Filedata']['name'], $tempFile, FTP_BINARY)){                       // 4
    echo true;
}else{
    echo false;
}

ftp_close($conn_id);

} else {
    echo false;
}

このコードが実装されるたびに、ファイルはローカル Web サーバーにも FTP サーバーにも表示されません。このコードはuploadifive.php

4

1 に答える 1

0

このコードで修正:

if (!empty($_FILES)) {

    $ftp_server = "****";
    $ftp_user = "****";
    $ftp_password = "****";
$tempFile   = $_FILES['Filedata']['tmp_name'];

    $file_to_upload = $tempFile;
    $remote_location = "/directoryname/". $_FILES['Filedata']['name'];

    // set up connection or exit with message
    $flink = ftp_connect($ftp_server) or exit("Can't connect to ftp server: $ftp_server");

    // login or at least try  
    if(ftp_login($flink, $ftp_user, $ftp_password)) {


     // if login successful use ftp_put to upload the file
     // if you upload binary files use mode FTP_BINARY
     if(ftp_put($flink, $remote_location, $file_to_upload, FTP_ASCII)) {

         echo "Success! File is uploaded!";
         } else {
               echo "Can't upload file";
         }
    } else {
         echo "Can't login with this user & password";
    }
     // close the connection
     ftp_close($flink);
     }
于 2012-07-23T16:51:41.637 に答える