2012-03-08 4 views
2

アップロードしたファイルをリモートサーバーに移動しようとしていますが、これは機能しません。アップロードしたファイルをリモートサーバーに移動する

move_uploaded_file($ tmp_name、 "アップロード/ $ CODE1/$コードの$ fileex。");

$ftp_server = "IP"; 
$ftp_user_name = "username"; 
$ftp_user_pass = "password"; 
$file = $tmp_name; 
$remote_file = "/public_html/test/uploads/"; 

// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// upload a file 
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) { 
echo "successfully uploaded $file\n"; 
} else { 
echo "There was a problem while uploading $file\n"; 
} 

// close the connection 
ftp_close($conn_id); 

私はこのエラーを受け取ります。

警告:ftp_putは()[function.ftp-置く]:そのファイルを開くことができません:あなたの$remote_file変数が指している52

+2

WHAT ERRORあなたが受け取るDO追加 – powtac

答えて

3

ライン上/home/file/public_html/uploaded.phpディレクトリですファイルを指すべきときにディレクトリに移動します。ファイルをアップロードする際$remote_file = "/public_html/test/uploads/".$file;

+0

ローカルファイルをリモートサーバーに移動しようとしています。 – HarryBeasant

+0

はい、わかりました。ファイル名を含むリモートサーバー上のパスを指定する必要がありますが、コードではこれを実行していません。 ftp_put(http://us.php.net/manual/en/function.ftp-put.php)のドキュメントを見ると、2番目のパラメータはリモートフォルダではなく、リモートファイルであることがわかります。 – j08691

+0

伝説、それは働いた!ありがとう! – HarryBeasant

1

にREMOTE_FILE $を変更してみてくださいあなたはおそらく、あなたが実際にFTPまた

に正しく接続されているかどうかをチェックしますif文でファイルをアップロード部分をラップする必要があり、あなたが必要としますファイル1とファイル2を作成しました。今すぐファイル2とディレクトリを用意しました。

http://php.net/manual/en/function.ftp-put.php

1

ディレクトリ"/public_html/test/uploads/"であるために移動しようとしているファイルは、ディレクトリにファイル名と拡張子を追加する必要があります。 pasv_promiscuous = YESそれは

0

は/etc/vsftpd.confファイル

の最後に次の行を追加します?

+0

それは64ビットでawsサーバーを使用してubuntu 14で私のために働いた – rajkamal

関連する問題