PHP:アクセス権限の設定だったので書きファイルとは何ですか?

StackOverflow https://stackoverflow.com/questions/941879

  •  06-09-2019
  •  | 
  •  

質問

私が作り出してしまおうというものをファイルにリリースでは以下のセキュリティはコード:

$file_to_send = 'ftp_test_from_created_file.txt';
chmod($file_to_send, 0777);
$fh = fopen($file_to_send,'w');
$tsv_line = 'Hey\tThese\tAre\tTab\tSeperated\tValues';
fwrite($fh, $tsv_line);
fwrite($fh, '\n');
$tsv_line = 'Hey\tThese\tAre\tToo';
fwrite($fh, $tsv_line);
fclose($fh);

ことが明らかだったらエラーという設定のパーミッションファイルが存在しない。がんページ内移動用のリchmod電話または、別のエラー聞かせていただきましていないアクセス権セットです。では私は病鶏肉vs卵サイクル又は権限を設定する必要があり、を含むディレクトリ...でもいかがですか?またすべてのfolling:

chmod('../containingfolder/', 0777);
chmod('../', 0777);
chmod('', 0777);

な作---どうしたらよいですか?どうすればできるのでしょう一度行っておりますされている必要があり、アクセス権です。

よろしく!

更新 てみました chmod('.', 0777) この誤った:

Warning: chmod(): Operation not permitted

理由はただそれだけ感させることなどによって、ここでファイルができまFTPでどこか他の、あなたのその予定のリンクを解除()です。があれば、より良いそうです。のようなものを格納するファイルをメモリを送信しなかあき)?ものを使用していPHP4.よろしく!

役に立ちましたか?

解決

ディレクトリの作成外のドキュメントルートを通 $tmpFolder い、ユーザのウェブサーバが実行としては読み書き可"が設定です。これにより,以下のような:

$file_to_send = $tmpFolder . '/ftp_test_from_created_file.txt';
chmod($file_to_send, 0777);
$fh = fopen($file_to_send,'w');
$tsv_line = 'Hey\tThese\tAre\tTab\tSeperated\tValues';
fwrite($fh, $tsv_line);
fwrite($fh, '\n');
$tsv_line = 'Hey\tThese\tAre\tToo';
fwrite($fh, $tsv_line);
fclose($fh);

他のヒント

できるのにapacheサーバーの走行うことができなくなったapacheがないへのアクセス変更の許可をそのディレクトリです。になりますので注意してくださいルート/rootユーザ/グループでは、apacheで動作apacheグループはwwwuserは、地下鉄からも近くて便利。

ls -l の親ディレクトリからユーザとグループはこのフォルダにまとめた。

変更の許可は、現在のディレクトリの使用

chmod('.', PERMISSION);

いす0777、世界の読みと書き込み可能な?そう緩やかに!

編集:お送り頂いたご提案chmod('../containingfolder/',0777);べています。できます詳細は誤りだかりいただけるでしょうか。

できない設定にアクセス権エントリの場合、ユーザー走行phpできな変更することも出来ます。見apacheのconfigを検索するユーザーで走行す(デフォルトではwwwのデータ。このような将来、自分と同じグループのデフォルトグループは、ドキュメントルートchmod-R g+a

場合、現在のユーザから書き込みを行うことができま、ディレクトリの対応することができるでしょう簡単にすべてのこと file_put_contents().

<?php
$file = 'file_to_write.txt';
$data = "Tab\tseparated\tvalues\nMore\tseparated\tvalues";
file_put_contents($file);

ない場合に対して書き込み権限を持っている現在のディレクトリ(あるいは何でディレクトリ)することはできませんのでその際には、ファイルを作成し、 chmod ます。

ただの誤差だから chmod() コマンドがあります。

chmod('.',0777);

べきます。

したい場合を維持するchroot刑務所、まだまだ必要な権限をchmodの現在のディレクトリの使いい使用方法須藤は-SオプションパイプのrootパスワードをSTDINを取得するためのpriviledges.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top