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

PHPのftp_size()関数とは?FTPサーバー上のファイルサイズを取得する方法

PHPのftp_size()関数は、FTPサーバー上にある特定のファイルのサイズ(バイト数)を取得するために使用される関数です。ファイル転送前にサイズを確認したい場合や、アップロード済みファイルの容量をチェックしたい場合などに便利です。

構文

ftp_size(conn, myfile)

パラメータ

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

  • myfile − サイズを取得したいサーバー上のファイル名(パス)を指定します。

戻り値

処理が成功した場合、指定したファイルのサイズがバイト単位で返されます。ファイルが存在しない場合やエラーが発生した場合は -1 が返されます。そのため、戻り値が-1かどうかを判定することで、サイズ取得の成否を確認できます。

使用例

以下は、FTPサーバー上の「new.txt」というファイルのサイズを取得する例です。

<?php
    $ftp_server = "192.168.0.4";
    $ftp_user = "username";
    $ftp_pass = "gfhgfj236k";
    // FTPサーバーへ接続
    $conn = ftp_connect($ftp_server) or die("$ftp_server に接続できませんでした");
    // ログイン
    $login = ftp_login($conn, $ftp_user, $ftp_pass);
    $myfile = "new.txt";
    // ファイルサイズを取得
    $size = ftp_size($conn, $myfile);
    if ($size != -1) {
        echo "ファイルサイズは {$size} バイトです";
    } else {
        echo "ファイルサイズを取得できませんでした!";
    }
    // 接続を閉じる
    ftp_close($conn);
?>

コードのポイント

  • まずftp_connect()でサーバーに接続し、ftp_login()で認証を行います。

  • ftp_size()の結果を変数$sizeに格納し、-1でないかを判定しています。

  • 処理完了後はftp_close()で必ず接続を閉じるようにしましょう。

なお、一部のFTPサーバーではSITE SIZEコマンドがサポートされていないため、そのような環境ではこの関数が正常に動作しない場合があります。

  1. PHPのzip_entry_filesize()関数の使い方を解説

    PHPのzip_entry_filesize()関数は、ZIPアーカイブ内のエントリ(ファイル)の圧縮前のファイルサイズ、つまり実際のファイルサイズを取得するために使用されます。基本構文zip_entry_filesize(zip_entry)パラメータzip_entry − zip_open()で開いたZIPファイルから取得したエントリリソースを指定します。このパラメータは必須です。戻り値zip_entry_filesize()関数は、指定されたZIPエントリの圧縮前のファイルサイズ(バイト単位)を返します。エラーが発生した場合は、ZIPエントリが無効な場合などにfalseを返すことがありま

  2. PHPのarray_pad()関数とは?配列への要素追加方法とサンプルコードを解説

    array_pad()関数とはPHPのarray_pad()関数は、既存の配列に対して、指定した値で指定した個数分の要素を追加(パディング)するための関数です。この関数は、新しい要素が追加された配列を返します。size引数が正の値の場合は配列の右側に、負の値の場合は左側に要素が追加される点が特徴です。構文array_pad(arr, size, value)パラメータarr - パディングの対象となる元の配列size - 結果として返される配列の総要素数value - パディングに使用する値。なお、sizeが元の配列の要素数以下の場合、パディングは行われず元の配列がそのまま返されます戻り値ar