우리는 파일을 생성하는 기능을 사용합니다
fopen(문자열 파일 이름, 문자열 모드)
매개변수 파일명은 생성된 파일명입니다
매개변수 모드는 파일명을 여는 방식입니다
모드에 가능한 값 목록:
모드 설명
'r' 읽기 전용 모드로 열고 파일 포인터가 파일 헤더를 가리킵니다.
'r'은 읽기-쓰기 모드로 열리고 파일 포인터가 파일 헤더를 가리킵니다.
'w'는 쓰기 모드를 켜고 파일 포인터를 파일의 시작 부분을 가리키며 파일 크기를 0으로 자릅니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.
'w'는 읽기-쓰기 모드로 열리고 파일 포인터를 파일 헤더로 가리키며 파일 크기를 0으로 자릅니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.
'a'는 쓰기 모드로 열리고 파일 포인터가 파일 끝을 가리킵니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.
'a'는 읽기 및 쓰기를 위해 열리고 파일 포인터가 파일 끝을 가리킵니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.
'x'는 파일 헤더를 가리키는 파일 포인터를 가리키며 쓰기를 위해 만들고 엽니다. 파일이 이미 존재하는 경우 fopen() 호출은 실패하고 FALSE를 반환하며 E_WARNING 수준 오류 메시지를 생성합니다. 파일이 존재하지 않으면 파일을 만들어 보십시오. 이는 기본 open(2) 시스템 호출에 O_EXCL|O_CREAT 플래그를 지정하는 것과 동일합니다. 이 옵션은 PHP 4.3.2 이상에서 지원되며 로컬 파일에만 사용할 수 있습니다.
'x'는 파일 헤더를 가리키는 파일 포인터를 가리키며 읽기 및 쓰기를 위해 파일을 만들고 엽니다. 파일이 이미 존재하는 경우 fopen() 호출은 실패하고 FALSE를 반환하며 E_WARNING 수준 오류 메시지를 생성합니다. 파일이 존재하지 않으면 파일을 만들어 보십시오. 이는 기본 open(2) 시스템 호출에 O_EXCL|O_CREAT 플래그를 지정하는 것과 동일합니다. 이 옵션은 PHP 4.3.2 이상에서 지원되며 로컬 파일에만 사용할 수 있습니다.
다음 코드는 fopen 함수를 사용하여 Demo라는 파일을 txt 형식으로 만들고 파일에 "Welcome To ItCodeWorld!" 데이터를 씁니다.
< ?php //要创建的两个文件 $TxtFileName = "Demo.txt"; //以读写方式打写指定文件,如果文件不存则创建 if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){ echo("创建可写文件:".$TxtFileName."失败"); exit(); } echo ("创建可写文件".$TxtFileName."成功!</br>"); $StrConents = "Welcome To ItCodeWorld!";//要 写进文件的内容 if(!fwrite ($TxtRes,$StrConents)){ //将信息写入文件 echo ("尝试向文件".$TxtFileName."写入".$StrConents."失败!"); fclose($TxtRes); exit(); } echo ("尝试向文件".$TxtFileName."写入".$StrConents."成功!"); fclose ($TxtRes); //关闭指针 ?>
PHP 파일 생성 – fopen()
fopen() 함수는 파일을 생성하는데도 사용됩니다. 다소 혼란스러울 수도 있지만 PHP에서는 파일을 생성하는 데 사용되는 함수와 파일을 여는 데 사용되는 함수가 동일합니다.
존재하지 않는 파일을 열기 위해 fopen()을 사용하는 경우 이 함수는 파일이 쓰기(w) 또는 추가(a)를 위해 열린다고 가정하여 파일을 생성합니다.
다음 예에서는 "testfile.txt"라는 새 파일을 만듭니다. 이 파일은 PHP 코드와 동일한 디렉토리에 생성됩니다:
예시
$myfile = fopen("testfile.txt", "w")
PHP 파일 권한
이 코드를 실행하려고 할 때 오류가 발생하면 하드 드라이브에 정보를 쓸 수 있는 PHP 파일 액세스 권한이 있는지 확인하세요.
PHP 쓰기 파일 – fwrite()
fwrite() 함수는 파일을 쓰는 데 사용됩니다.
fwrite()의 첫 번째 매개변수에는 기록할 파일의 파일 이름이 포함되고, 두 번째 매개변수는 기록할 문자열입니다.
다음 예에서는 "newfile.txt"라는 새 파일에 이름을 씁니다.
예
<?php $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "Bill Gates\n"; fwrite($myfile, $txt); $txt = "Steve Jobs\n"; fwrite($myfile, $txt); fclose($myfile); ?>
"newfile.txt" 파일에 두 번 썼습니다. 파일에 쓸 때마다 보내는 문자열 $txt에는 처음에는 "Bill Gates"가 포함되고 두 번째에는 "Steve Jobs"가 포함됩니다. 쓰기가 완료된 후 fclose() 함수를 사용하여 파일을 닫습니다.
"newfile.txt" 파일을 열면 다음과 같아야 합니다:
빌 게이츠
스티브잡스
PHP 덮어쓰기
이제 'newfile.txt'에 일부 데이터가 포함되어 있으면 기존 파일에 쓸 때 어떤 일이 발생하는지 보여줄 수 있습니다. 기존 데이터가 모두 삭제되고 새 파일이 시작됩니다.
다음 예에서는 기존 파일 "newfile.txt"를 열고 여기에 새 데이터를 씁니다.
예시
<?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); ?>
지금 이 "newfile.txt" 파일을 열면 Bill과 Steve는 모두 사라지고 방금 작성한 데이터만 남습니다.
미키마우스
미니마우스
개행 문자 '
'그리고 캐리지 리턴'
'
이름에서 알 수 있듯이 줄 바꿈 문자는 새 줄을 시작한다는 의미이고, 캐리지 리턴 문자는 줄의 시작 부분으로 돌아가는 것을 의미합니다. 따라서 파일을 작성할 때 일반적으로 사용하는 캐리지 리턴 문자를 캐리지 리턴 줄 바꿈 문자라고 불러야 합니다.
'
' 10개 줄바꿈
'
' 13 리턴
'x0a', 'x0d'로도 표현 가능합니다(16진수)
Windows 시스템에서 캐리지 리턴 및 줄 바꿈 기호는 "입니다.
n". 하지만 Linux와 다른 시스템에는 그런 것이 없습니다."
” 기호
텍스트나 다른 형식의 파일 내용을 분석할 때 캐리지 리턴과 라인 피드를 판단하는 지점을 자주 접하게 됩니다. 이때 판단과 "
n"다시 판단해야 한다"
".
프로그램을 작성할 때 한 줄을 얻고 'r'에서 잘라내면 필요한 문자열을 얻을 수 있습니다.