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コマンドがサポートされていないため、そのような環境ではこの関数が正常に動作しない場合があります。
-
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を返すことがありま
-
PHPのarray_pad()関数とは?配列への要素追加方法とサンプルコードを解説
array_pad()関数とはPHPのarray_pad()関数は、既存の配列に対して、指定した値で指定した個数分の要素を追加(パディング)するための関数です。この関数は、新しい要素が追加された配列を返します。size引数が正の値の場合は配列の右側に、負の値の場合は左側に要素が追加される点が特徴です。構文array_pad(arr, size, value)パラメータarr - パディングの対象となる元の配列size - 結果として返される配列の総要素数value - パディングに使用する値。なお、sizeが元の配列の要素数以下の場合、パディングは行われず元の配列がそのまま返されます戻り値ar