ローカルファイルを開き、FTPサーバのファイルにアップロードします(非ブロッキング):
<?php
// connect and login to FTP server
$ftp_server = "ftp.example.com";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$server_file = "serverfile.txt";
// open local file
$local_file = "localfile.txt";
$fp = fopen($local_file,"r");
// initiate upload
$d = ftp_nb_fput($ftp_conn, $server_file, $fp, FTP_BINARY)
while ($d == FTP_MOREDATA)
{
// do whatever you want
// continue uploading
$d = ftp_nb_continue($ftp_conn);
}
if ($d != FTP_FINISHED)
{
echo "Error uploading $local_file";
exit(1);
}
// close connection
ftp_close($ftp_conn);
?>
ftp_nb_fput() 関数は、オープンしているローカルファイルをFTPサーバにアップロードします(非ブロッキング)。
チップ: この関数は(ftp_fput()とは逆に)ファイルを非同期で取得するため、 ファイルのダウンロード中に他の操作を実行できます。
ftp_nb_fput(ftp_connection,remote_file,open_file,mode,startpos);
パラメータ | 説明 |
---|---|
ftp_connection | 必須。 使用するFTP接続を指定する |
remote_file | 必須。アップロード先のファイルパスを指定する |
open_file | 必須。オープンされているローカルファイルへのポインタを指定する |
mode | 必須。転送モードを指定する。 可能な値:FTP_ASCII または FTP_BINARY |
startpos | 任意。アップロードを開始するリモートファイル内の位置を指定する |
返り値: | この関数は、次のいずれかの値を返します:
|
---|---|
PHP バージョン: | 4.3+ |