ホームページ >バックエンド開発 >PHPの問題 >PHP fopenで権限が不十分な問題を解決する方法

PHP fopenで権限が不十分な問題を解決する方法

藏色散人
藏色散人オリジナル
2021-10-28 09:12:103768ブラウズ

php fopen の権限が不十分な場合の解決策: 1. ターミナル コマンド ウィンドウを開きます; 2. ターミナルでコマンド「sudo chmod 666 testOpen.php」を実行します。

PHP fopenで権限が不十分な問題を解決する方法

この記事の動作環境: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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。