質問: chmod("test2.txt", 0777); file_put_contents($filename, "テキストを作成し保存します。"); エラーは Warning: chmod() [function.chmod]: No such file or directory in パス 色々なページで調べたところ、ファイルが存在しない場合は自動で新規作成してくれるということでいたが いくら試してもできません。 何がいけないのどしょうか? 参考にしたサイト https://www.flatflag.nir87.com/touch-829 ffftpの設定でパーミッションは777にしています。
回答: chmod()は既に存在するファイルやディレクトリに権限をあたるものなので、 まだファイルを作っていない段階で実行しようとすると提示のエラーになります。 先にfile_put_contents()でファイルを作成してください。 > > ファイルが存在しない場合は自動で新規作成してくれるということ > > > それはfile_put_contents()の仕様です。 > > filename が存在しない場合はファイルを作成します。 存在する場合はそのファイルを上書きします。ただし FILE_APPEND フラグが設定されている場合は別です。 > > > エラーはその内容の通りchmod()に対して起きています。