댓글 검색 목록

[php] 기본 PHP 파일 처리 – 읽기 쓰기 추가 복사 이동 삭제

페이지 정보

작성자 운영자 작성일 20-04-20 14:43 조회 1,038 댓글 0

PHP 파일 요가 


PHP 파일 처리에 대한 초보자 자습서에 오신 것을 환영합니다. 최신 프로젝트에서 일부 파일을 처리해야 합니까? 

당신은 올바른 장소에 왔으며, 우리는 단계별 예제와 함께 기본 파일 요가를 안내 할 것입니다.


  • 새 파일을 만드는 방법.
  • 기존 파일을 읽습니다.
  • 기존 파일에 데이터를 쓰고 추가합니다.
  • 파일을 복사하고 이동하십시오.
  • 파일 이름을 바꿉니다.
  • 마지막으로 파일을 삭제하는 방법.


알아 보려면 계속 읽으십시오!


ⓘ 튜토리얼 시작 부분에 모든 예제 소스 코드가 포함 된 zip 파일이 포함되어 있으므로 모든 것을 복사하여 붙여 넣을 필요가 없습니다.


예제 코드 다운로드 


먼저 약속 된 예제 소스 코드에 대한 다운로드 링크가 있습니다.


소스 코드 다운로드 


모든 예제 소스 코드를 다운로드하려면 여기를 클릭하십시오. MIT 라이센스에 따라 릴리스 했으므로 코드 위에 빌드하거나 자신의 프로젝트에서 자유롭게 사용할 수 있습니다.


빠른 시작 

  • 폴더에 다운로드하여 압축을 풉니다.
  • 관련된 데이터베이스가 없으므로 포함 된 각 파일을 따라 가십시오.

파일 기본 


계속해서 PHP 파일 요가 세션부터 시작해 보자.


1. 파일 생성 


<?php // (1) CREATE FILE $file = "z-create.txt"; $stream = fopen($file, 'w') or die("Error creating " . $file); // (2) ALWAYS CLOSE THE FILE STREAM! fclose($stream) or die("Error closing " . $file); // (3) FILE CREATE OK - DO YOUR THING echo "OK"; ?> 

  • PHP에서 가장 중요한 두 가지 파일 함수는 fopen fclose입니다.
  • fopen (FILE, MODE)는 지정된 파일을 열며 몇 가지 읽기 / 쓰기 모드가 있습니다. 아래의 엑스트라 섹션에서 전체 모드 목록을 얻을 수 있는 공식 PHP 매뉴얼 링크를 남겨 두겠습니다.
  • 여기서 'w'모드는“쓰기 전용”을 의미합니다. 파일이 없으면 파일을 작성하려고 시도합니다. 또한 기존 파일이 잘 리므로 (파일의 기존 내용을 모두 제거하십시오)주의해서 사용하십시오.
  • fclose (STREAM)가 파일을 올바르게 닫습니다. 일부 온라인 자습서는 어떻게 든 이 자습서를 놓치지 만 개인적으로 스트레스를 줄 것입니다. 파일을 올바르게 닫으십시오. 그렇지 않으면 손상된 파일이 생길 수 있습니다.

2. 파일 읽기 


라인별로 읽기 


<?php // (1) READ FILE $file = "z-dummy.txt"; $stream = fopen($file, "r") or die("Error opening the file " . $file);; // (2) READ LINE BY LINE while (($line = fgets($stream)) !== false) { echo $line; } // (3) CLOSE - EVEN FOR READING! fclose($stream) or die("Error closing " . $file); ?> 


  • 새 파일을 만들 때와 마찬가지로 fopen 함수를 사용하여 기존 파일을 읽습니다. 그러나 'w'대신 'r'모드를 사용합니다.
  • 'r'모드는 "읽기 전용"을 의미하며 파일 포인터를 파일 시작 부분에 놓습니다 (위에서 읽기 시작).
  • 다음으로 fgets (STREAM) 함수를 사용하여 파일을 한 줄씩 읽습니다.
  • 마지막으로, 읽기 전용 인 경우에도 파일을 닫아야 합니다.

특정 바이트를 읽으십시오 


적절한 줄 바꿈이 없는 파일이 있습니까?


<?php // (1) OPEN FILE $file = "z-dummy.txt"; $stream = fopen($file, "r") or die("Error opening the file " . $file);; // (2) READ SPECIFIC NUMBER OF BYTES while (!feof($stream)) { echo fread($stream, 8192); } // (3) CLOSE THE STREAM fclose($stream) or die("Error closing " . $file); ?> 


  • fget을 사용하는 대신 while (! feof)를 사용하여 파일 끝까지 계속 반복합니다.
  • 그런 다음 fread를 사용하여 파일에서 가져올 바이트 수를 지정할 수 있습니다.


3. 파일 쓰기 


<?php // (1) OPEN FILE $file = "z-create.txt"; $stream = fopen($file, 'w') or die("Error opening the file " . $file);; // (2) WRITE DATA TO FILE fwrite($stream, "Hello World!"); // (3) CLOSE - MAKE SURE IT WRITES PROPERLY fclose($stream) or die("Error closing " . $file); // (4) FILE WRITE OK - DO YOUR THING echo "OK"; ?> 


  • 같은 오래된 이야기 – fopen으로 파일을 열고 완료되면 fclose로 닫습니다.
  • 파일에 데이터를 쓰려면 fwrite (STREAM, DATA) 함수를 사용합니다.

4. 파일에 첨부 (파일에 파일 쓰기) 


<?php // (1) OPEN FILE $file = "z-create.txt"; $stream = fopen($file, 'a') or die("Error opening the file " . $file); // (2) WRITE ARRAY TO FILE $data = [ "Hello" => "World", "ID" => 123, "Name" => "John Doe" ]; foreach ($data as $k=>$v) { $line = "[$k] - $v\r\n"; fwrite($stream, $line); } // (3) CLOSE - MAKE SURE IT WRITES PROPERLY fclose($stream) or die("Error closing " . $file); // (4) FILE WRITE OK - DO YOUR THING echo "OK"; ?> 


  • 기존 파일에 추가하는 것은 fopen에서 'w'모드를 'a'로 변경하는 것만 큼 쉽습니다.
  • 그러나 파일이 먼저 존재하는지 확인하는 것이 좋습니다.
  • 파일에 배열 (여러 줄)을 쓰는 것도 간단합니다. foreach 루프로 배열을 실행하고 \ r \ n을 사용하여 줄 바꿈을 추가하십시오.


5. 파일 복사 


<?php // (1) SOURCE AND DESTINATION $source = "z-create.txt"; $destination = 'z-create-bak.txt'; // (2) COPY copy($source, $destination) or die("Failed to copy from $source to $destination"); // (3) ALL DONE - DO YOUR THING echo "OK"; ?> 


이것은 매우 설명이 필요합니다… copy (SOURCE, DESTINATION) 함수를 사용하십시오.


6. 파일 이름 바꾸기 


<?php // (1) RENAME $source = 'z-create.txt'; $destination = 'zzz-create.txt'; rename($source, $destination) or die("Failed to rename from $source to $destination"); // (2) DONE - DO YOUR THING echo "OK"; ?> 


네, 또 다른 설명이 필요합니다. 이름 바꾸기 (SOURCE, DESTINATION) 기능을 사용하십시오.


7. 파일 이동 


<?php // (1) MOVE // Uses the same rename function, but set destination to a different folder $source = 'zzz-create.txt'; $destination = __DIR__ . DIRECTORY_SEPARATOR . '7-move' . DIRECTORY_SEPARATOR . 'file.txt'; rename($source, $destination) or die("Failed to move from $source to $destination"); // (2) DONE - DO YOUR THING echo "OK"; ?> 


Move는 다른 대상 폴더를 정의한다는 점을 제외하고는 동일한 이름 바꾸기 기능을 사용합니다.


8. 파일 삭제 


<?php // (1) DELETE $file = "z-create-bak.txt"; unlink($file) or die("Failed to delete " . $file); // (2) DONE - DO YOUR THING echo "OK"; ?> 


파일을 삭제하기 위해 unlink (FILE) 함수를 사용합니다. 참고 – 영구적이며 휴지통을 건너 뜁니다.


9. TOUCH!? 


<?php // (1) UPDATE "LAST MODIFIED" TO NOW $file = "z-dummy.txt"; touch($file) or die("Failed to touch " . $file); // (2) WE CAN ALSO SPECIFY A TIME $time = time() - 36000; touch($file) or die("Failed to touch " . $file); ?> 


우리가 다루려고 하는 최종 파일 관련 PHP 함수는 touch (FILE, TIMESTAMP)입니다. 그러나 이것은 파일의 수정 된 날짜 만 업데이트하고 내용을 변경하지 않기 때문에 이상한 기능입니다. 일부 프로세스에 타임 스탬프를 사용하는 경우 여전히 유용 할 수 있습니까?


유용한 비트 및 링크 


이 프로젝트의 전부입니다. 여기에 도움이 될만한 추가 정보 및 링크에 대한 작은 섹션이 있습니다.


요약 


FunctionDescription
fopen(FILE, MODE)

Opens a selected file.

fclose(STREAM)Properly closes a file.
fgets(STREAM)Reads a single line from the file stream.
feof(STREAM)Is the file pointer at the end of the file?
fread(STREAM, BYTES)Reads a specific number of bytes from the file stream.
fwrite(STREAM, DATA)Writes data to file stream.
copy(SOURCE, DESTINATION)Copy a file.
rename(SOURCE, Target)Rename or move a file.
unlink(FILE)Delete a file.
touch(FILE, TIMESTAMP)Updates the “last modified” timestamp of the file.

참조 


INFOGRAPHIC CHEAT SHEET 


basic-php-file-handling-small.jpg 




댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.