PHPのumask()関数の使い方|ファイルパーミッションの変更方法を解説
概要
PHPのumask()関数は、新しく作成されるファイルやディレクトリのデフォルトパーミッション(アクセス権)を制御するための関数です。
引数を指定して呼び出すと、PHPの現在のumaskを指定した値に変更し、変更前のumask値を返します。一方、引数なしで呼び出した場合は、現在設定されているumaskをそのまま取得できます。
なお、PHPがサーバーモジュールとして動作している場合、umaskは各リクエストの終了時に自動的に元の状態へ戻される点に注意してください。
umaskの仕組み
umaskとは「マスク」と呼ばれる仕組みで、新規作成されるファイルやディレクトリから取り除くパーミッションを指定するものです。例えばumask(0077)を設定すると、所有者以外のグループやその他のユーザーに対する読み込み・書き込み・実行権限がすべて無効化され、より安全な状態でファイルを作成できます。
構文
umask(mask)
パラメータ
mask − 新しく設定するパーミッションを8進数で指定します。省略した場合は、現在のumask値のみを取得します。
戻り値
引数を指定せずに呼び出した場合は現在のumaskを返します。引数を指定して呼び出した場合は、変更前のumask値を返します。
使用例
<?php
// -rw-------
umask(0077);
// パーミッションを変更: -rw-r--r--
chmod('/new/one.txt', 0644);
echo "Access changed!";
?>この例では、まずumask(0077)によって厳しいパーミッション設定を行い、その後chmod()を使って対象ファイルのアクセス権を明示的に変更しています。
出力
Access changed!
-
PHPのimagecopy()関数とは?画像の一部をコピーする方法を解説
PHPのimagecopy()関数は、ある画像(ソース画像)の一部を別の画像(コピー先画像)にコピーするために使用されるGDライブラリの関数です。画像の合成やサムネイル作成、ウォーターマークの追加など、さまざまな画像処理に活用できます。 構文 imagecopy( dst_img, src_img, dst_x, dst_y, src_x, src_y, src_w, src_h) パラメータ imagecopy()関数には、以下の8つのパラメータを指定します。 dst_im:コピー先の画像リンクリソースを指定します。 src_im:コピー元の画像リンクリソースを指定します。 dst_x
-
PHPのimagecopymerge()関数とは?画像のコピーと合成方法を解説
imagecopymerge()関数とはPHPのimagecopymerge()関数は、ある画像(コピー元)の一部分を別の画像(貼り付け先)にコピーし、指定した透明度で合成(マージ)するためのGDライブラリ関数です。透かし(ウォーターマーク)の追加など、複数の画像を重ね合わせたい場面でよく利用されます。構文imagecopymerge ( dst_img, src_img, dst_x, dst_y, src_x, src_y, src_w, src_h, pct )パラメータdst_img:貼り付け先の画像リンクリソースを設定します。src_img:コピー元の画像リンクリソースを設定します。