PHPのftp_fput()関数とは?構文・パラメータ・使い方を徹底解説
ftp_fput()関数とは
PHPのftp_fput()関数は、すでにオープンされているローカルファイルからデータを読み込み、その内容をFTPサーバー上の指定したファイルへアップロードするために使用します。
通常のftp_put()関数はファイル名を指定してアップロードしますが、ftp_fput()関数はfopen()などで取得したファイルポインタを直接扱える点が特徴です。すでに開いているファイルをそのまま転送したい場合に便利です。
構文
ftp_fput(con, remote_file, open_file, mode, startpos);
パラメータ
con − ftp_connect()で取得したFTP接続リソースを指定します。
remote_file − アップロード先となるFTPサーバー上のファイルパスを指定します。
open_file − 読み込み元のオープン済みローカルファイルポインタを指定します。
mode − 転送モードを指定します。テキストファイルなら
FTP_ASCII、画像やバイナリファイルならFTP_BINARYを使用します。startpos − オプション。アップロードを開始するファイル内の位置(バイト単位)を指定できます。省略時は先頭から転送されます。
戻り値
アップロードが成功した場合はTRUEを、失敗した場合はFALSEを返します。
使用例
次の例では、ローカルファイル「new.txt」を読み込みモードでオープンし、その内容をFTPサーバー上の「demo.txt」へアップロードしています。
<?php
$ftp_server = "192.168.0.4";
$ftp_user = "amit";
$ftp_pass = "tywg61gh";
// FTPサーバーに接続
$con = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
// ログイン
$login = ftp_login($con, $ftp_user, $ftp_pass);
$my_file = "demo.txt"; // サーバー上の保存先ファイル名
$local_file = "new.txt"; // ローカルの読み込み元ファイル名
// ローカルファイルをオープン
$file_pointer = fopen($local_file, "r");
// ファイルをアップロード
if (ftp_fput($con, $my_file, $file_pointer, FTP_ASCII)) {
echo "Uploaded!";
} else {
echo "Error in uploading file!";
}
// 接続とファイルを閉じる
ftp_close($con);
fclose($file_pointer);
?>
ポイントまとめ
ftp_fput()はアップロード用の関数です(ダウンロードにはftp_fget()を使用します)。
バイナリファイルを扱う際は、必ず
FTP_BINARYを指定してください。FTP_ASCIIではデータが破損する可能性があります。処理が完了したら、ftp_close()とfclose()を忘れずに呼び出してリソースを解放しましょう。
-
PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説
PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用
-
PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説
PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値