PHPエラー「PHP Warning: touch(): Unable to create file〜because No such file or directory」の原因と解決方法
PHPのtouch()関数で、引数にパスを指定し、ファイルを新規に作成しようとした時に、
PHP Warning: touch(): Unable to create file〜because No such file or directory
となることがある。
《プログラム例》「/home/nobuneko/test.php」ファイルの中身(一部)
26行目: $file_path = "/home/nobuneko/cat/test.txt";
27行目: touch($file_path);
《実行例》
PHP Warning: touch(): Unable to create file /home/nobuneko/cat/test.txt because No such file or directory in /home/nobuneko/test.php on line 27
touch()関数は、引数に指定したパスにファイルがない場合は、ファイルを新規に作成する動きとなるが、ディレクトリまでは作成してくれない。
上記の例では、「/home/nobuneko/」ディレクトリは存在するが、その下位の「cat」ディレクトリが存在しないため(→because No such file or directory)、catディレクトリ配下にtest.txtファイルを作成しようとしても作成できず(→Unable to create file)にPHPエラーとなっている。
上記の例の場合は、「/home/nobuneko/」ディレクトリ直下にcatというディレクトリを新規に作成することで、PHPエラーとなっていた問題を解決できる。