2016-12-14 24 views
0

以下のコードで.txtファイルを書くことはできますが、localhost上にphpファイル(既存のファイルや新しく作成されたファイル)を作成することはできません。PHPでphpファイルを書くことができません

また、それがエコー文字列の長さが正確に任意のエラー通知または

<?php 
$file = fopen("test.php","w"); 
echo fwrite($file,"do not vote me down"); 
fclose($file); 
?> 

を警告なし事前

+0

問題の詳細を投稿してください。ファイルが作成されているかどうか、ファイルに書き込まれた内容など... – captainblack

+0

@captainblackはい最初に作成されたファイルですが、それ以上の変更はできません(PHPファイル) – sam

+0

私はchmodや何かを使う必要がありますか? – sam

答えて

3

が所有権の問題である可能性があります。 chmod -R 775 /var/www/folderおよび/またはchown -R domain:www-data /var/www/folderを行う試す - ドメインではなく、ファイルを更新するには、appendオプションを使用することができ書き換えるために、特定のバーチャルホストまたはWWW-データも

のユーザーです - +を追加すると、その場合は、ファイルを初めて作成するのに役立ちます存在しません。

$file = fopen("test.php","a+"); 
echo fwrite($file,"do not vote me down ab"); 
fclose($file); 

そして、あなたはあなたがPHPのchown機能 -

chown('test.php','apache'); 

を使用することができ、ファイルの所有権を変更したい場合はあまりにもこのコードを使用しrecusivelyファイルやフォルダのアクセス権を変更する -

exec ("find /path/to/folder -type d -exec chmod 0750 {} +"); 
exec ("find /path/to/folder -type f -exec chmod 0644 {} +"); 
+0

それは魅力のように動作します – sam

0

のおかげではたぶんあなたのファイルには、(fopenの後、ダイ()関数を追加することができますので、開きません)、レビューコード: -

<?php 
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 
$txt = "Mickey Mouse\n"; 
fwrite($myfile, $txt); 
$txt = "Minnie Mouse\n"; 
fwrite($myfile, $txt); 
fclose($myfile); 
?> 
+0

Nahはまだ同じです – sam

+0

私はそれらを上書きすることができないphpファイルでのみです – sam

+0

.txtファイルは.phpファイルと同じディレクトリに格納されていることを確認してください。 –

0

コードが機能します。 test.phpが適切なファイル許可を持っている限り、私は内容を書き換えることができます。

+0

Ok!私は書き込みモードでそれを開く前に、ファイルの許可を変更することができます – sam

+0

することができます。 chmod関数はそれを達成するのに役立ちます。代わりに、サブフォルダを作成し、代わりにそのフォルダへのアクセス権を設定することもできます。 'test_data'フォルダを作成し、そのフォルダへの再帰アクセス権を設定すると、そのフォルダの下に作成されたファイルはすべて同じアクセス権を継承します。 – Mobs

+0

<?php \t $ file = fopen( "test_data/test.php"、 "w"); \t echo fwrite($ file、 "12345を書き直して投票しないでください"); \t fclose($ file); ?> – Mobs

関連する問題