現在の位置: ホーム> 最新記事一覧> PHPチュートリアル:ftp_put()関数の詳細な分析FTPファイルアップロードを実装する

PHPチュートリアル:ftp_put()関数の詳細な分析FTPファイルアップロードを実装する

gitbox 2025-08-08

導入

FTP(ファイル転送プロトコル)は、ネットワークファイル転送の標準プロトコルです。 PHP開発では、FTP接続とファイルのアップロードが一般的な要件です。 PHPにはFTP拡張機能が組み込まれており、さまざまなFTP操作関数を提供します。 FTP_put()関数は特に重要であり、ローカルファイルをFTPサーバーにアップロードするために使用されます。

FTP_put()関数の基本的な機能は、ローカルファイルをリモートFTPサーバーにアップロードし、実行後にブール値を返して、アップロードが成功したかどうかを示します。関数構文は次のとおりです。

 <span class="fun">bool ftp_put(リソース$ ftp_stream、string $ remote_file、string $ local_file、int $ mode [、int $ startpos = 0])</span>

関数パラメーター分析

$ ftp_streamはftp_connect()またはftp_ssl_connect()を介して確立されたFTP接続リソースです。

$ remote_file FTPサーバーにアップロードした後、ターゲットファイル名を指定します。

$ local_fileは、ローカルファイルのフルパスと名前です。

$モードはファイル転送モードを定義し、2つの主なタイプがあります。FTP_ASCIIテキストファイルに適しており、 FTP_BINARYは写真、ビデオなどのバイナリファイルに適しています。

$ startposは、アップロード開始場所を示し、デフォルトは0、ファイルの先頭から転送開始を示します。

デモの例

次の例は、 ftp_put()を使用してファイルをアップロードする方法を示しています。

 $ftp_server = 'ftp.example.com';
$ftp_username = 'username';
$ftp_password = 'password';
$local_file = '/path/to/file.jpg';
$remote_file = 'file.jpg';
$conn_id = ftp_connect($ftp_server);
ftp_login($conn_id, $ftp_username, $ftp_password);
if (ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY)) {
    echo "ファイルは正常にアップロードされましたFTPサーバ\n";
} else {
    echo "ファイルのアップロードに失敗しました\n";
}
ftp_close($conn_id);

コードはFTPサーバーに接続し、 ftp_put()を呼び出してローカルfile /path/to/ file.jpgをアップロードし、ターゲットファイル名はfile.jpgで、バイナリモードで送信されます。アップロードが成功したかどうかは、対応するプロンプトが与えられます。

エラー処理方法

ftp_put()を使用する場合、ファイルが存在しない、アクセス許可の不十分、サーバースペースの不十分、接続タイムアウトなど、さまざまなエラーが発生する可能性があります。アップロードのセキュリティと安定性を改善するために、アップロードする前にサーバーディレクトリファイルのステータスを確認できます。たとえば

// 切换到サーバ目录
ftp_chdir($conn_id, '/upload');
// 現在のディレクトリファイルリストを取得します
$file_list = ftp_nlist($conn_id, '.');
// ターゲットファイルがすでに存在する場合,バックアップの名前を変更します
if (in_array('file.jpg', $file_list)) {
    ftp_rename($conn_id, 'file.jpg', 'file_backup.jpg');
}
// ファイルをアップロードします
if (ftp_put($conn_id, 'file.jpg', $local_file, FTP_BINARY)) {
    echo "ファイルは正常にアップロードされましたFTPサーバ\n";
} else {
    echo "ファイルのアップロードに失敗しました\n";
}

上記のコードデモは、最初に/アップロードディレクトリに切り替えて、ファイルリストを取得します。同じ名前のファイルが既にある場合は、最初に名前を変更して、データの上書きを避けてからアップロードします。

使用に関するメモ

ftp_put()を使用してファイルをアップロードする場合、次の側面に注意する必要があります。

  • FTPサーバーアドレス、ユーザー名、パスワードが正しいことを確認してください。
  • ローカルファイルが存在する必要があり、読み取り権限があります。
  • アップロードされたターゲットファイル名は、サーバーファイルのネーミングルールと一致する必要があります。
  • サーバー上の重要なファイルを意図せずに上書きしないようにしてください。
  • アップロードされたファイルサイズがサーバーの許容範囲内にあることを確認してください。

細心のデバッグとテストにより、割り込みまたは障害をアップロードすることを効果的に回避し、スムーズなファイル転送プロセスを確保します。

要約します

PHPのFTP_PUT()関数は、FTPファイルのアップロードを実装するための重要なツールです。この記事では、機能、パラメーターの説明、インスタンスコード、エラー処理スキルの使用法を詳細に紹介し、FTPファイル転送タスクを効率的に完了するための実用的なガイダンスを開発者に提供します。