2012-03-24 4 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 감사합니다. _that_에 대해 잊어 버렸을 때 내 PHP가 녹슨 것 같습니다 :) –

+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이 부울 FALSE 값을 반환하면 파일 이름이 존재하지 않습니다.

파일이 없으면 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); 
} 
관련 문제