php fopen の権限が不十分な場合の解決策: 1. ターミナル コマンド ウィンドウを開きます; 2. ターミナルでコマンド「sudo chmod 666 testOpen.php」を実行します。
この記事の動作環境:linux5.9.8システム、PHP7.1バージョン、DELL G3コンピュータ
PHPはfopen() 関数 ファイルを開くときに権限が不十分であるというプロンプトが表示される
PHP fopen() 関数
関数の定義と使用法: fopen() 関数はファイルを開きますまたはURL。
構文:
fopen(filename,mode,include_path,context)
最後の 2 つのパラメーターはオプションです。最初の 2 つのパラメーターのみを使用しました。コード
<?php //打开文件流 $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); //向文件中写入字符串 fwrite($myfile, "Hello World"); //关闭文件句柄 fclose($myfile); ?>
コードによって実装される関数は次のとおりです。現在のパスにある newfile.txt という名前のファイルを書き込みモードで開き、ファイルが存在しない場合は作成を試みます。ファイルを開いたら、Hello World 文字列をファイルに書き込み、最後にファイルを閉じます。
現在のフォルダー パスに newfile.txt ファイルがありません。上記のコードを実行すると、次のエラーが発生します:
警告: fopen(newfile.txt): に失敗しました。オープン ストリーム: 権限
/home/yums/web/blog_for_r&d/scripts/testOpen.php の 3 行目
ファイルを開けません!
権限が不十分ですか? Linux で最も一般的な問題は、ハードディスク上にファイルを作成する権限がないことです。 testOpen.php に高い権限を与えようとしたので、ターミナルで次のコマンドを実行しました:
sudo chmod 666 testOpen.php
このようにして、PHP ファイルにファイルを作成する権限が与えられました。ページを再度更新してみます。なんと、まだ同じ問題が残っています。
警告: fopen(newfile.txt): ストリームを開けませんでした:
/home/yums/web/blog_for_r&d/scripts/testOpen.php の 3 行目の権限が不十分です
使用できませんファイルを開くには!
忘れてください。ファイルの作成にこの関数は必要ありません。gedit を使用して newfile.txt ファイルを自分で作成します。そこで、ターミナルで次のコマンドを実行しました:
gedit newfile.txt
このようにして、ファイルを作成して更新しましたが、それでも権限が不十分でした。newfile.txt ファイルにどのような権限があるかを確認したほうがよいでしょう。ターミナルで次のコマンドを実行します:
ls -all
メモ帳で作成した newfile.txt には読み取り権限しかなく、書き込み権限がないことがわかりました。問題はここにあります。新しいファイルの書き込み権限を増やしてください。 .txt ファイル:
sudo chmod 666 newfile.txt
ここでページを更新すると、エラーは報告されず、対応する文字列がファイルに書き込まれます。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP fopenで権限が不十分な問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。