PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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()を忘れずに呼び出してリソースを解放しましょう。

  1. PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用

  2. PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説

    PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値