/etc/php-fpm.d/www.conf で設定されているuserとgroup。
例えば、
user = apache
group = apache
/etc/php-fpm.d/www.conf で設定されているuserとgroup。
例えば、
user = apache
group = apache
サーバーのcronを使ってPHPファイルを実行する場合、そのPHPファイルの実行ユーザーはcronの実行ユーザーになります。つまり、cronジョブを設定したユーザー(例えば、rootや特定のシステムユーザーなど)の権限でPHPスクリプトが実行されます。
一方、Webサーバー(例えばApache)経由でPHPファイルを実行する場合、その実行ユーザーは通常、Webサーバーの実行ユーザー(例えば、www-dataやapacheなど)になります。
したがって、cronを使ってPHPを実行するときとWebサーバー経由でPHPを実行するときでは、実行ユーザーが異なる可能性があります。これはファイルの読み書き権限などに影響を与えるため、注意が必要です。
ディレクトリのパーミッションにおいて、「r」は「読み取り」を意味します。したがって、ディレクトリのパーミッションで「r」がない場合、そのディレクトリの内容を読み取ることができません。具体的には、ディレクトリ内のファイルやサブディレクトリの名前をリストすることができなくなります。
例えば、`ls` コマンドを使用してディレクトリの内容を表示しようとすると、「Permission denied」(許可が拒否されました)というエラーメッセージが表示されます。また、そのディレクトリ内のファイルを開くこともできません。
ただし、ディレクトリ自体に対する「実行」(x)パーミッションがある場合、そのディレクトリ内の特定のファイルにアクセスすることは可能です(そのファイルのパーミッションがそれを許可している場合)。しかし、「読み取り」(r)パーミッションがないため、どのファイルが存在するのかを知る方法はありません。
PHPでファイルを作成、編集、削除したいなら。
ディレクトリに「w」と「x」。ファイルに「w」が必要。
PHPでファイルを編集できればいいのなら。
ディレクトリに「x」。ファイルに「w」が必要。
なお、ファイルに「r」がないと、file_get_contentsで読み込めない。(ディレクトリに「x」は必要)
読み取り権限(R)の確認:
<?php
$file = 'example.txt';
if (is_readable($file)) {
echo "The file '$file' is readable.";
} else {
echo "The file '$file' is not readable.";
}
?>
書き込み権限(W)の確認:
<?php
$file = 'example.txt';
if (is_writable($file)) {
echo "The file '$file' is writable.";
} else {
echo "The file '$file' is not writable.";
}
?>
実行権限(X)の確認:
<?php
$file = 'example.txt';
if (is_executable($file)) {
echo "The file '$file' is executable.";
} else {
echo "The file '$file' is not executable.";
}
?>
ファイルの作成:
<?php
$file = 'example.txt';
$content = 'Hello, World!';
// ファイルを開く(存在しない場合は新規作成)
$handle = fopen($file, 'w');
if ($handle) {
// ファイルに書き込む
fwrite($handle, $content);
// ファイルを閉じる
fclose($handle);
echo "File '$file' has been created.";
} else {
echo "Unable to create the file '$file'.";
}
?>
ファイルの編集:
<?php
$file = 'example.txt';
$content = ' This is additional content.';
// ファイルを開く(追記モード)
$handle = fopen($file, 'a');
if ($handle) {
// ファイルに書き込む
fwrite($handle, $content);
// ファイルを閉じる
fclose($handle);
echo "File '$file' has been updated.";
} else {
echo "Unable to update the file '$file'.";
}
?>
ファイルの削除:
<?php
$file = 'example.txt';
// ファイルを削除
if (unlink($file)) {
echo "File '$file' has been deleted.";
} else {
echo "Unable to delete the file '$file'.";
}
?>
ディレクトリのパーミッション
R: ディレクトリ内のファイルが表示されるか(lsで表示されるか)
W: ディレクトリ内のファイルを新規作成, 消去できるか(存在するファイルの読み書きは可能)
X: ディレクトリ内に入れるか(cdできるか)
ファイルのパーミッション
R: ファイルを読み込むことができる。
W: ファイルを上書きできる。
X: ファイルを実行できる。
$sql = "SELECT name FROM doraemon_users";
$sth = $pdo -> query($sql);
$aryList = $sth -> fetchAll(PDO::FETCH_COLUMN);
print_r($aryList);
$color = [
"1" => "red",
"2" => "green",
"3" => "blue",
"4" => "yellow",
"5" => "pink"
];
と
$color1 = ["2", "4", "5"];
から
$color3 = [
"2" => "green",
"4" => "yellow",
"5" => "pink"
];
を作る
$color3 = array_intersect_key($color, array_flip($color1));
これは、$color配列から$color1配列のキーに一致する要素を取得し、新しい配列$color3に格納します。array_flip関数は配列のキーと値を反転させ、array_intersect_key関数は2つの配列のキーが一致する要素を返します。この結果、$color3配列は$color1配列の各要素に対応する$color配列の要素を含むようになります。この方法で、指定したキーの要素を持つ新しい配列を作成できます。
・echo "エラーが発生しました:" . $e->getMessage();:これはエラーメッセージを表示するだけで、スクリプトの実行はその後も続きます。$e->getMessage()は、発生した例外のエラーメッセージを返します。このコードは、エラーメッセージを表示したい場合に使用します。
・exit($e);:これはスクリプトの実行をすぐに停止します。exit関数は、オプションでステータスメッセージを出力できます。この場合、$e(例外オブジェクト)がそのまま出力されます。ただし、$eはオブジェクトなので、そのまま出力すると役に立たない情報(オブジェクトの型とID)しか得られません。そのため、通常はexit($e->getMessage());のように、エラーメッセージを出力するようにします。
したがって、エラーが発生したときにスクリプトの実行を停止したい場合はexitを使用し、エラーメッセージを表示したいだけでスクリプトの実行を続けたい場合はechoを使用します。