2012-03-24 35 views
3

ファイルが存在しない場合にのみ、PHPでファイルを書き込むことはできますか?ファイルが存在しない場合はfwrite?

$file = fopen("test.txt","w"); 
echo fwrite($file,"Some Code Here"); 
fclose($file); 

ので、ファイルはコードが存在しない場合は、コードを書くことはありませんが、ファイルが存在しない場合は、新しいファイルを作成し、コードを事前に

感謝を書きます!

答えて

6

あなたは、ファイルがすでに存在する場合はfopenは失敗になりますx代わりのwのモード、とfopen()を使用することができます。 file_existsを使用するのと比較して、このようなチェックの利点は、存在をチェックして実際にファイルを開く間にファイルが作成された場合、正しく動作しないことです。欠点は、ファイルがすでに存在する場合、E_WARNINGが生成されるということです。

言い換えれば(以下の@ ThiefMasterのコメントの助けを借りて)、次のようなものです。

$file = @fopen("test.txt","x"); 
if($file) 
{ 
    echo fwrite($file,"Some Code Here"); 
    fclose($file); 
} 
+1

スローされた警告を抑制するには '@fopen(...) 'が必要です。 – ThiefMaster

+0

@ThiefMasterありがとう、私のPHPは、私が_that_を忘れてしまったように見えます。 –

+0

ありがとう、私はこのコードの年齢を検索しています:) –

4

コードを実行する前にファイルが存在するかどうかfile_exists($ filename)で確認してください。

if (!file_exists("test.txt")) { 
    $file = fopen("test.txt","w"); 
    echo fwrite($file,"Some Code Here"); 
    fclose($file); 
} 
0

$ fileという変数が作成されました。この変数には、作成するファイルの名前が含まれます。

PHPのis_file関数を使用して、ファイルがすでに存在するかどうかを確認します。

is_fileが真偽値を返す場合、ファイル名は存在しません。

ファイルが存在しない場合は、関数file_put_contentsを使用してファイルを作成します。

//The name of the file that we want to create if it doesn't exist. 
$file = 'test.txt'; 

//Use the function is_file to check if the file already exists or not. 
if(!is_file($file)){ 
    //Some simple example content. 
    $contents = 'This is a test!'; 
    //Save our content to the file. 
    file_put_contents($file, $contents); 
} 
関連する問題