PHPのftp_chmod()関数とは?リモートファイルのパーミッション設定方法を解説
ftp_chmod() 関数は、FTP接続を通じてリモートサーバー上にあるファイルのパーミッション(アクセス権)を変更するためのPHP組み込み関数です。Webアプリケーションからアップロードしたファイルの権限を動的に制御したい場合などに活用できます。
構文
ftp_chmod(con, mode, my_file);
パラメータ
con −
ftp_connect()で確立したFTP接続リソースを指定します。mode − 新しく設定するパーミッションを8進数で指定します。
パーミッションは4桁の数字で構成されます。
1桁目:常に「0」を指定します
2桁目:オーナー(所有者)に対する権限
3桁目:オーナーが属するユーザーグループに対する権限
4桁目:その他の全ユーザーに対する権限
各桁に設定できる値は以下のとおりです。複数の権限を付与する場合は、該当する数値を合計します。
1 = 実行権限
2 = 書き込み権限
4 = 読み取り権限
たとえば「0755」の場合、オーナーには読み取り・書き込み・実行(4+2+1=7)、グループとその他のユーザーには読み取り・実行(4+1=5)が付与されます。
my_file − パーミッションを変更対象となるリモートファイルのパスまたはファイル名を指定します。
戻り値
処理が成功した場合は新しいファイルのパーミッションを返し、失敗した場合は FALSE を返します。
使用例
以下は、ftp_chmod() を使ってリモートファイルのモードを「0755」に変更するサンプルコードです。
<?php
$ftp_server="192.168.0.4";
$ftp_user="amit";
$ftp_pass="tywg61gh";
$myfile = "E:/new/demo.txt";
// FTPサーバーに接続
$con = ftp_connect($ftp_server);
// ログイン認証
$res = ftp_login($con, $ftp_user, $ftp_pass);
// ファイルのパーミッションを0755に変更
if (ftp_chmod($con, 0755, $myfile) !== false) {
echo "Mode changed successfully! \n";
} else {
echo "Mode cannot be changed! \n";
}
// 接続を閉じる
ftp_close($con);
?>
このコードでは、まず ftp_connect() でサーバーに接続し、ftp_login() で認証を行った後、ftp_chmod() によって対象ファイルの権限を変更しています。処理結果に応じてメッセージを出力し、最後に ftp_close() で接続を切断しています。なお、mode引数は必ず先頭に「0」を付けた8進数リテラルとして記述する点に注意してください。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し