2017-08-14 1 views
0

chmodを使用するユーザーからファイルのchmod値を変更したいとします。しかし、それは動作しません。私のコードは、php - chmodが動作しない

$chmod = "0777"; 
chmod($filename, $chmod); 

私はchmodの777を入力しています。しかし、ファイルのchmodの値は、私は結果は同じであるのchmod 0777、777、00777.を試してみました1411 です。

+1

これは動作しない最も一般的な理由は、Webサーバーがファイルを変更できないユーザーおよびグループのアクセス許可で実行されていることです。ログインすると、ウェブサーバよりも大きな権限を持つことがよくあります。ファイル(ユーザーとグループ)の所有者とWebサーバーのユーザーとグループを教えてください。 – JBH

+0

'$ filename'にファイルの絶対パスが含まれていますか?ユーザーにこのファイルのアクセス権を変更するための適切な権限がありますか? –

+0

この関数には慣れていませんが、php docsのコメントに基づいて、モード番号(0777)を引用符の代わりに関数 'octdec()'に入れる必要があります。 – yanman1234

答えて

0

問題はデータ変換と関係があります。ちょうどそれが変換された777魔女が希望与えていないされ得る$ chmodの文字列を渡すことによって

$chmod = "0777"; 
chmod($filename, octdec($chmod)); 

。 octdec( "0777")は、小数点がchmodに必要な値を与える511を出力します。

+0

はい!ありがとう兄貴。 –

0

ファイルのパスとファイル名が正しいことを確認してください。これを試してください

chmod("/somedir/somefile", 0755); 
+0

これは動作します方法。しかし、私はそれを着信から変更したい。 –