PHPでパーミッションを設定する方法【初心者向け】
初心者向けにPHPでパーミッションを設定する方法について解説しています。ファイルやフォルダのパーミッションについて理解しましょう。実際にソースコードを書いて説明しているので、ぜひ参考にしながら読んでみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PHPでパーミッションを設定する方法について解説します。
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPでパーミッションを設定する方法について詳しく説明していくね!
お願いします!
パーミッションとは
unix系OSでファイルへのアクセスを制限する仕組みです。
各ファイルは所有者、所属グループの属性を持っています。ファイルごとに読み出し、書き込み、実行の操作を、誰に許可するか設定してあります。
この組み合わせでアクセスを制限しています。
所有者ユーザーへの 読み出し、書き込み、実行 権限 所属グループユーザーへの 読み出し、書き込み、実行 権限 その他(上記以外)ユーザーへの 読み出し、書き込み、実行 権限
パーミッションを設定する方法
各パーミッションは2進数のビットで管理され 読み出し、書き込み、実行の3ビットをまとめて8進数の一桁で表します。
更に 所有者、所属グループ、その他ユーザー の種別があるので9ビットで8進数の3桁を使います。
読み出し可 = 4 書き込み可 = 2 実行可 = 1
読み書き可 ならば 4+2 で 6、読み出しと実行可ならば 4+1 で5のようになります。
それを 所有者、所属グループ、その他ユーザーの順に並べて指定します。
これをchmod関数でファイルに指定します。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
ソースコード
<?php chmod('example/file.txt', 0640); chmod('example/hello.sh', 0755); //PHPで8進数を書くときは先頭に0を書く必要があります。
実行結果
$ mkdir example $ echo test > example/file.txt $ cat > example/hello.sh < #!/bin/bash > echo hello world! > EOT $ ls -l example total 8 -rw-rw-r-- 1 ec2-user ec2-user 5 Sep 12 15:13 file.txt -rw-rw-r-- 1 ec2-user ec2-user 30 Sep 12 15:12 hello.sh $ php permission.php $ ls -l example total 8 -rw-r----- 1 ec2-user ec2-user 5 Sep 12 15:13 file.txt -rwxr-xr-x 1 ec2-user ec2-user 30 Sep 12 15:12 hello.sh $ example/hello.sh hello world!
この記事を監修してくれた方
大網 清和(おおあみきよかず ) プログラム歴は長く中学生の頃から始めて35年くらいになります。古くは BASIC、C、COBOLなどを経験しSQLを集中的に使っていた時期もあります。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。