2012-06-28 11 views
6

is_writable()がtrueを返しても、ファイルへの書き込みに問題があります。もちろん、そのファイルは存在し、見た目は明らかです。ここでは、コードは次のようになります。PHP is_writable()はtrueを返しますが、file_put_contents()はfalseを返します。

$file = "data"; 
echo file_get_contents($file)."<br>"; 
echo is_writable($file) ? "is writable<br>" : "not writable<br>"; 
if (file_put_contents($file, "ghijkl", FILE_APPEND) === FALSE) echo "failed<br>"; 
echo file_get_contents($file)."<br>"; 

そして、ここでは、出力されます。

abcdef 
is writable 
failed 
abcdef 
+1

@interlude後に働いている:それは明らかではないでしょうか? – zerkms

+0

は、http://stackoverflow.com/questions/4917811/file-put-contents-permission-deniedの複製のようです。 – naiquevin

+0

@interlude: '==' somewhere? – zerkms

答えて

0

あなたは、ファイルの所有権を確認しましたか?グループ名:

chown username:groupname your_file.txt 

は、ユーザー名を変更することを忘れないでください:それは、このコードを実行しようとし、その理由かもしれません。それがあなたのために働くことを望みます!

0

ディレクトリに書き込もうとしているかもしれません。ファイルではなく、書き込み可能だが追加できないファイルです。ちょうど推測。

0

あなたがこれを使用する必要があります:

$file=realpath('data'); 

を次にあなたがファイルに$fileの上にこれを使用する必要がある内容を入れて、最後のものは(filename.filetype)のようなファイルの種類に与えることをしてみてください。

file_put_contents($file,'fgdfgfg'); 
1

は、だから私は、コンソールに入力して私の場合 には、ファイルシステム で空き容量を確認必要があります。
は/ dev/da0s1f 4.3Gの4.0Gの上にマウントされた無駄の使用容量-h
ファイルシステムサイズ
DFを - 68M 102パーセントの/ usr

アップフリースペースと関数ますfile_put_contentsはその

関連する問題