PHP 파일() 처리 및 기능

⚡ 스마트 요약

PHP의 파일 처리는 서버에서 파일을 생성, 읽기, 쓰기, 복사 및 삭제하는 데 사용할 수 있는 풍부한 내장 함수 세트를 활용합니다. 이 가이드에서는 file_exists, fopen 및 그 모드, fwrite, fclose, fgets, copy, unlink, file_get_contents 함수를 실제 예제와 함께 다룹니다.

  • 📄 파일에 저장되는 내용: 파일은 구성 설정, 로그 및 간단한 데이터를 저장하므로 데이터베이스에 비해 저렴한 영구 저장 옵션을 제공합니다.
  • 🔍 파일 확인 중: `file_exists()` 함수는 파일을 읽거나 생성하기 전에 파일이 존재하는지 확인하여 오류를 방지합니다.
  • 📂 파일 열기: fopen() 함수는 파일을 r, w 또는 a와 같은 모드로 엽니다. 이 모드는 읽기, 쓰기 및 추가 작업을 제어합니다.
  • 마무리 및 결론: fwrite() 함수는 파일 핸들로 데이터를 전송하고, fclose() 함수는 작업이 완료되면 핸들을 해제합니다.
  • ???? 파일 읽기: fgets() 함수는 한 줄씩 읽는 반면, file_get_contents() 함수는 파일 전체를 하나의 문자열로 반환합니다.
  • 🗂️ 복사 후 삭제: copy() 함수는 파일을 새 경로로 복제하고, unlink() 함수는 서버에서 파일을 영구적으로 삭제합니다.
  • 🤖 AI 지원: AI 도구는 파일 구문 분석 코드를 생성하고 권한 오류 또는 스트림 열기 실패 오류를 신속하게 해결할 수 있습니다.

PHP 파일 처리

파일이란 무엇입니까?

파일은 단순히 컴퓨터에 정보를 저장하기 위한 리소스입니다.

파일은 일반적으로 다음과 같은 정보를 저장하는 데 사용됩니다.

  • 프로그램의 구성 설정
  • 연락처 이름과 전화번호 같은 간단한 데이터입니다.
  • 이미지, 사진, 그림 및 이와 유사한 미디어.

PHP 파일 형식 지원

PHP 파일 함수는 다음을 포함하는 광범위한 파일 형식을 지원합니다.

  • File.txt
  • 파일.로그
  • 파일 이름.사용자 지정 확장자(예: file.xyz)
  • 파일.csv
  • File.gif, file.jpg 및 이와 유사한 이미지 형식

파일은 여러 상황에서 유용합니다.

  • DBMS 시스템 관리를 위해 별도의 소프트웨어와 기술이 필요한 데이터베이스와 달리, DBMS는 단순 데이터에 대해 영구적이고 비용 효율적인 데이터 저장 솔루션을 제공합니다.
  • 나중에 검색하고 분석할 수 있도록 서버 로그와 같은 간단한 데이터를 저장하고 싶습니다.
  • 프로그램 설정, 즉 program.ini 파일을 저장하고 싶으신가요?

PHP 파일 함수

PHP는 풍부한 내장 함수 모음을 통해 파일을 다루는 편리한 방법을 제공합니다.

Opera팅 시스템과 같은 Windows macOS 대소문자를 구분하지 않습니다. Linux or 유닉스 운영 체제는 대소문자를 구분합니다.

파일 이름 지정 시 소문자만 사용하는 등의 명명 규칙을 채택하는 것은 플랫폼 간 호환성을 극대화하는 좋은 방법입니다.

이제 가장 일반적으로 사용되는 PHP 파일 함수 몇 가지를 살펴보겠습니다.

PHP file_exists() 함수

이 함수는 파일이 존재하는지 여부를 확인하는 데 사용됩니다.

  • 파일을 처리하기 전에 파일이 존재하는지 여부를 알고 싶을 때 유용합니다.
  • 새 파일을 생성하고 해당 파일이 서버에 이미 존재하지 않는지 확인하려는 경우에도 이 기능을 사용할 수 있습니다.

file_exists 함수의 구문은 다음과 같습니다.

<?php
file_exists($filename);
?>

이리,

  • "file_exists()"는 파일이 있으면 true를 반환하고 파일이 없으면 false를 반환하는 PHP 함수입니다.
  • "$filename"은 검사할 파일의 경로와 이름입니다.

아래 코드는 file_exists 함수를 사용하여 my_settings.txt 파일이 존재하는지 확인합니다.

<?php
if (file_exists('my_settings.txt'))
{
echo 'file found!';
}
else
{
echo 'my_settings.txt does not exist';
}
?>

위 코드를 file_function.php라는 파일에 저장하세요. htdocs 폴더 안의 phptuts 폴더에 파일을 저장했다고 가정하면, 해당 파일을 열어보세요. URL http://localhost/phptuts/file_function.php 브라우저에서 검색하시면 다음과 같은 결과가 나타납니다.

PHP file_exists() 함수

PHP fopen() 함수

fopen 함수는 파일을 여는 데 사용됩니다. 구문은 다음과 같습니다.

<?php
fopen($file_name,$mode,$use_include_path,$context);
?>

이리,

  • "fopen"은 PHP 파일 열기 함수입니다.
  • "$file_name"은 열려는 파일의 이름입니다.
  • "$mode"는 파일을 열 때 사용할 모드입니다. 아래 표는 사용 가능한 모드를 보여줍니다.
모드 기술설명
r • 파일을 처음부터 읽습니다.
• 파일이 존재하지 않으면 false를 반환합니다.
• 읽기 전용
r+ • 처음부터 파일 읽기
• 파일이 존재하지 않으면 false를 반환합니다.
• 읽고 쓰기
w • 처음부터 파일에 쓰기
• 파일 길이를 0으로 줄입니다.
• 파일이 존재하지 않으면 파일을 생성해 보십시오.
• 쓰기 전용
w+ • 처음부터 파일에 쓰고 파일을 XNUMX 길이로 자릅니다.
• 파일이 존재하지 않으면 파일을 생성해 보십시오.
• 읽고 쓰기
a • 파일 끝에 추가
• 파일이 존재하지 않으면 파일을 생성해 보십시오.
• 쓰기 전용
a+ • 파일 끝에 추가
• 파일이 존재하지 않으면 파일을 생성해 보세요.
• 읽고 쓰기
  • "$use_include_path"는 선택 사항이며 기본값은 false입니다. true로 설정하면 함수는 포함 경로에서도 검색합니다.
  • "$context"는 선택 사항이며 컨텍스트 지원을 지정하는 데 사용할 수 있습니다.

PHP fwrite() 함수

fwrite 함수는 파일에 쓰는 데 사용됩니다.

구문은 다음과 같습니다.

<?php
fwrite($handle, $string, $length);
?>

이리,

  • "fwrite"는 파일에 쓰기 위한 PHP 함수입니다.
  • "$handle"은 파일 포인터 리소스입니다.
  • "$string"은 파일에 기록될 데이터입니다.
  • "$length"는 선택 사항이며 최대 파일 길이를 지정하는 데 사용할 수 있습니다.

PHP fclose() 함수

PHP에서 `fclose()` 함수는 이미 열려 있는 파일을 닫는 데 사용됩니다.

구문은 다음과 같습니다.

<?php
fclose($handle);
?>

이리,

  • "fclose"는 PHP 기능 열린 파일을 닫는 데
  • "$handle"은 파일 포인터 리소스입니다.

이제 my_settings.txt 파일을 생성하는 예제를 살펴보겠습니다. fopen, fwrite, fclose 함수를 사용하겠습니다.

아래의 "create_my_settings_file.php" 코드는 위의 예를 구현합니다.

파일을 엽니 다
<?php

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
파일 닫기
<?php

fclose($fh);

?>
파일 만들기
<?php

$fh = fopen("my_settings.txt", 'w') or die("Failed to create file");

$text = <<<_END

localhost;root;pwd1234;my_database

_END;

fwrite($fh, $text) or die("Could not write to file");

fclose($fh);

echo "File 1 written successfully"; ?>

코드 테스트

열기 URL http://localhost/phptuts/create_my_settings.php 브라우저에서.

다음 페이지가 나타납니다.

PHP fclose 함수

참고: 디스크가 꽉 찼거나 파일 쓰기 권한이 없으면 오류 메시지가 표시됩니다.

다시 전환하세요 URL http://localhost/phptuts/file_function.php어떤 결과가 나오나요?

PHP fgets() 함수

`fgets` 함수는 PHP 파일을 한 줄씩 읽는 데 사용됩니다. 기본 구문은 다음과 같습니다.

<?php
fgets($handle);
?>

이리,

  • "fgets"는 PHP에서 파일의 각 줄을 읽는 함수입니다.
  • "$handle"은 파일 포인터 리소스입니다.

이제 fopen 및 fgets 함수를 사용하여 my_settings.txt 파일을 읽는 예제를 살펴보겠습니다.

read_my_settings.php 아래 코드는 위의 예를 구현합니다.

<?php
$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");
$line = fgets($fh);
echo $line; fclose($fh);
?>

이리,

  • "fopen" 함수는 파일 경로에 지정된 파일에 대한 포인터를 반환합니다.
  • "die()" 함수는 오류가 발생할 경우 호출됩니다. 이 함수는 오류 메시지를 표시하고 스크립트 실행을 종료합니다.

PHP copy () 함수

PHP의 copy 함수는 파일을 복사하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

<?php
copy($file,$copied_file);
?>

이리,

  • "$file"은 복사할 파일의 경로와 이름을 지정합니다.
  • "$copied_file"은 복사된 파일의 경로와 이름을 지정합니다.

아래 코드는 구현을 보여줍니다.

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 2";
?>

파일 삭제

unlink 함수는 파일을 삭제하는 데 사용됩니다. 아래 코드는 구현 방법을 보여줍니다.

<?php
if (!unlink('my_settings_backup.txt'))
{
echo "Could not delete file";
}
else
{
echo "File 1 successfully deleted";
}
?>

PHP file_get_contents() 함수

file_get_contents 함수는 전체 파일 내용을 읽는 데 사용됩니다.

file_get_contents와 fgets의 차이점은 file_get_contents는 파일 데이터를 문자열로 반환하는 반면, fgets는 파일을 한 줄씩 읽어온다는 것입니다.

아래 코드는 구현을 보여줍니다.

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

PHP 파일 함수 빠른 참조

아래 표는 이 튜토리얼에서 다룬 파일 기능을 요약한 것입니다.

함수 기술설명
파일이 존재 파일이 존재하는지 여부를 확인하는 데 사용됩니다.
포펜 파일을 여는 데 사용됩니다. 열린 파일에 대한 포인터를 반환합니다.
쓰기 파일에 쓰는 데 사용됩니다.
닫기 열려있는 파일을 닫는 데 사용됩니다.
fgets 파일을 한 줄씩 읽는 데 사용됩니다.
복사 기존 파일을 복사하는 데 사용됩니다.
풀리다 기존 파일을 삭제하는 데 사용됩니다.
file_get_contents 파일의 내용을 문자열로 반환하는 데 사용됩니다.

자주 묻는 질문

fgets는 호출할 때마다 한 줄씩 읽고, fread는 열려 있는 핸들에서 정해진 바이트 수를 읽으며, file_get_contents는 fopen이나 fclose 없이 한 번의 호출로 파일 전체를 문자열로 읽어옵니다.

fwrite 함수는 열린 파일 핸들에 쓰기를 수행하며, 이를 위해 fopen과 fclose 함수를 사용해야 합니다. file_put_contents 함수는 파일을 열고, 쓰고, 닫는 작업을 한 번에 수행하므로 간단한 쓰기 작업에 더 간결한 선택입니다.

쓰기 권한을 확인하려면 `is_writable('file.txt')`를 사용하고, 파일이 존재하는지 확인하려면 `file_exists()`를 사용하십시오. 유닉스 시스템에서는 웹 서버가 파일 소유자인 경우 `chmod()`를 사용하여 권한을 조정할 수 있습니다.

예. CSV, JSON 또는 로그 레이아웃과 같은 파일 형식을 설명해 주시면 AI가 fgetcsv, json_decode 또는 사용자 지정 루프를 사용하여 코드를 생성하고, 파일이 없거나 형식이 잘못된 경우 오류를 처리할 수 있습니다. 실제 데이터로 테스트해 보세요.

네. 경로와 오류 메시지를 공유해 주시면 AI가 잘못된 상대 경로, 누락된 파일 또는 권한 문제를 식별한 후 절대 경로 사용, 파일 생성 또는 권한 조정과 같은 해결 방법을 제안해 드립니다.

이 게시물을 요약하면 다음과 같습니다.