PHPコマンドラインで学ぶファイル・ディレクトリ操作入門(mkdir・rmdir・chmod)
生徒
「PHPって、画面を表示するだけじゃなくて、フォルダを作ったり消したりもできるんですか?」
先生
「できます。PHPをコマンドラインで使うと、パソコンの中のファイルやディレクトリを操作できます。」
生徒
「コマンドラインって、黒い画面のやつですよね?触ったことがありません…」
先生
「大丈夫です。電源ボタンの押し方から説明するつもりで、順番に見ていきましょう。」
1. PHPのコマンドラインスクリプトとは?
PHPには、ブラウザで動かす使い方と、コマンドラインで動かす使い方があります。コマンドラインとは、マウスを使わず、文字を入力してパソコンに命令する画面のことです。Windowsでは「コマンドプロンプト」や「PowerShell」と呼ばれています。
PHPのコマンドラインスクリプトを使うと、フォルダを作る、消す、権限を変えるなど、ファイル操作やディレクトリ操作ができます。ディレクトリとは、フォルダのことです。引き出しの中に書類をしまうようなイメージを持つと分かりやすいです。
2. mkdirとは?ディレクトリを作る基本操作
mkdirは、新しいディレクトリ(フォルダ)を作るためのPHP関数です。机の上に新しい箱を置くようなイメージです。保存する場所を決めるために、とてもよく使われます。
<?php
mkdir('sample_folder');
echo 'フォルダを作成しました';
フォルダを作成しました
このスクリプトを実行すると、PHPファイルと同じ場所に「sample_folder」というフォルダができます。もし同じ名前のフォルダがすでにあると、エラーになります。
3. mkdirの応用:中にフォルダを作る
フォルダの中にフォルダを作ることもできます。これは、棚の中にさらに小さな箱を入れるような感じです。その場合は、パスという考え方を使います。パスとは、場所を示す住所のようなものです。
<?php
mkdir('parent/child', 0777, true);
echo '親と子のフォルダを作成しました';
親と子のフォルダを作成しました
trueを指定すると、途中のフォルダがなくても自動で作ってくれます。数字の0777は、後で説明する権限の設定です。
4. rmdirとは?ディレクトリを削除する方法
rmdirは、空のディレクトリを削除するための関数です。中に何も入っていない箱だけを片付けるイメージです。ファイルが入っているフォルダは消せません。
<?php
rmdir('sample_folder');
echo 'フォルダを削除しました';
フォルダを削除しました
もしフォルダの中にファイルがある場合は、先にファイルを削除する必要があります。初心者のうちは「空じゃないと消せない」と覚えておくと安全です。
5. chmodとは?ファイルやフォルダの権限
chmodは、ファイルやディレクトリの権限を変更するための関数です。権限とは「誰が使っていいか」を決めるルールです。ドアに鍵をかけるかどうかを決めるようなものです。
<?php
chmod('sample_folder', 0755);
echo '権限を変更しました';
権限を変更しました
0755という数字は、「持ち主は使える、他の人は見るだけ」といった意味があります。最初は数字の意味を全部覚えなくても問題ありません。
6. なぜ権限設定が必要なのか
権限を正しく設定しないと、プログラムがフォルダに保存できなかったり、逆に誰でも中身を見られてしまったりします。これは家の鍵をかけ忘れるのと同じで、とても危険です。
PHPのファイル操作では、mkdirで作成 → chmodで権限設定という流れがよく使われます。この順番を覚えておくと、実際の開発でも役立ちます。
7. PHPファイル操作でよくある失敗
初心者がよくつまずくのは、「フォルダが存在しない」「権限が足りない」というエラーです。これはパソコンが「そこに箱がない」「鍵がかかっている」と教えてくれている状態です。
エラーが出たら、フォルダ名のスペル、場所、権限を一つずつ確認しましょう。PHPのコマンドライン操作は、ゆっくり丁寧に進めることが一番の近道です。