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

PHPのftp_put()関数とは?FTPサーバーへのファイルアップロード方法を解説

PHPのftp_put()関数は、ローカルファイルをFTPサーバーへアップロードするために使用される関数です。Webアプリケーションからサーバー上にファイルを転送したい場合などに活用できます。

構文

ftp_put(con, remote_file, local_file, mode, beg_pos);

パラメータ

  • con − FTP接続リソース(ftp_connect()で取得した接続)を指定します。

  • remote_file − アップロード先となるサーバー上のファイルパスを指定します。

  • local_file − アップロード元となるローカル側のファイルパスを指定します。

  • mode − 転送モードを指定します。指定できる値は以下の2種類です。

    • FTP_ASCII(アスキーモード:テキストファイル向け)

    • FTP_BINARY(バイナリモード:画像や実行ファイル向け)

  • beg_pos − アップロードを開始する位置(オフセット)を指定します。省略可能で、通常は先頭からアップロードされます。

戻り値

ftp_put()関数は、アップロードが成功した場合にTRUEを、失敗した場合にFALSEを返します。

使用例

以下は、ローカルファイルをFTPサーバーへアップロードするサンプルコードです。

<?php
    $ftp_server = "192.168.0.4";
    $ftp_user = "tim";
    $ftp_pass = "wthbn#@121";
    $con = ftp_connect($ftp_server) or die("$ftp_server に接続できませんでした");
    $login = ftp_login($con, $ftp_user, $ftp_pass);
    $local_file = "localfile.txt";
    $my_serverfile = "serverfile.txt";
    if (ftp_put($con, $my_serverfile, $local_file, FTP_ASCII)) {
        echo "ファイルをアップロードしました!";
    } else {
        echo "ファイルのアップロード中にエラーが発生しました!";
    }
    // 接続を閉じる
    ftp_close($con);
?>

コードのポイント

  • ftp_connect()でFTPサーバーに接続し、失敗した場合はdie()で処理を終了しています。

  • ftp_login()でユーザー名とパスワードを使って認証を行います。

  • ftp_put()の第4引数にはテキストファイルのためFTP_ASCIIを指定しています。画像やZIPファイルなどを扱う場合はFTP_BINARYを使用しましょう。

  • 処理が完了したらftp_close()で接続を必ず閉じるようにします。

  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()関数は、処理結果に応じて以下のブール値