2017-12-22 30 views
0

私は自分のコンピュータにいくつかのWebページを開発しようとしていますが、fopen関数を使用しようとするまでうまくいきました。 .phpファイルは/ var/www/html /ディレクトリにあり、開きたいファイルも同じディレクトリにありますが、/ home/myusername /ディレクトリにあるファイルを開こうとしましたが、とにかく仕事。PHPのfopen関数が動作しない

他の投稿では、権限がある可能性があり、私は提案されたことをやり遂げましたが、とにかく動作しません。

マイコード:

... 
$file = fopen("/home/msantos/direction.txt", w); 
if ($file == FALSE) { 
    echo "error fopen <br>"; 
}  
if(fwrite($file, "teste") == FALSE) 
{ 
    echo "error fwrite"; 
} 

そして結果は常にある: "エラーのfopen"。そして、明らかにfopenがうまくいかなかったので、私は "error fwrite"も取得します。

誰かが私が間違っていることを知っているか、それを動作させるために何をしなければならないのですか?

EDIT: は(私はerror_get_lastを使用したコメントの一つで提案している)、それは次のように出力します

Array ([type] => 2 [message] => fopen(/home/msantos/direction.txt): failed to open stream: Permission denied [file] => /var/www/html/teste.php [line] => 29) 

だから、それは本当にアクセス権の問題であると思われます。それを動作させるためには何が必要ですか?

+0

は、あなたが使用しているディストリビューションになり?いくつかのディストリビューションでは、PHPとApacheの読み書き権限をブロックするselinuxを持っています。私たちはファイルのアクセス許可を表示します。 – AsenM

+0

私は詳細なエラーで投稿を更新しました。私はFedora 26を使用しています。 –

答えて

2

私はPHPで作業して以来、長い時間が経ちましたが、fopen()はmodeの文字列/ charパラメータを持つ必要があると思います。したがって:

$file = fopen("/home/msantos/direction.txt", w); 

$file = fopen("/home/msantos/direction.txt", 'w'); 

Source

+0

これ。 http://php.net/manual/en/function.fopen.php – ivanivan

関連する問題