PHP 프로그래밍 습관 PHP 프로그래밍의 8가지 일반적인 파일 작업 방법
파일 및 디렉터리 작업
PHP는 로컬 서버에 있는 파일과 디렉터리를 처리하는 것이 매우 편리하지만 때로는 권한 및 경로 관련 문제가 발생할 수 있습니다
1. 파일
리소스 fopen(문자열 파일 이름, string mode [, bool use_include_path [, resources zcontext]] )
$handle = fopen(filename,mode)//파일을 열고 이 파일의 리소스를 나타내는 핸들을 반환합니다.
파일 이름은 상대 이름을 사용할 수 있습니다. 경로 또는 절대 경로를 사용할 수 있습니다. 개방형 모드는 rr ww aa xx b
바이너리 파일 운영 시 'b' 태그를 지정하지 않으면 깨진 등의 이상한 문제가 발생할 수 있습니다. 이미지 파일과 rn 문자 관련 문제. 이상한 질문입니다.
이식성 이유로 fopen()으로 파일을 열 때 항상 'b' 플래그를 사용하는 것이 좋습니다.
다음은 파일을 여는 여러 가지 방법입니다
$fp = @fopen('log.txt',"rb")
$fp = @fopen('../log.txt'," rb");
$fp = @fopen("http://www.runer.com.cn/default.htm","rb");//ftp 및 ghoper와 같은 프로토콜을 사용할 수도 있습니다. php는 .ini 파일에서 Allow_url_fopen 옵션을 활성화해야 합니다
//////////////////////////////코드 부분///// ///// //////////////////////////////
$filename1 = "userinfo.txt";/ /디렉터리 또는 include_path에 존재합니다.
$filename2 = "test.txt";//이 파일은 디렉토리 또는 include_path에 존재하지 않습니다
$resource1 = fopen($filename1,"rb"); 🎜>@$resource2 = fopen( $filename2,"rb");//이 파일이 디렉터리에 존재하지 않고 포함된 파일의 경로를 찾는 데 include_path 또는 include_path가 사용되지 않기 때문에 이 작업은 오류 억제기 @를 사용하면 브라우저가 오류 메시지를 출력하지 않게 할 수 있습니다
if($resource1)
echo "{$filename1} 파일 열기
if(!@fopen($filename2) ,"r"))
echo "{$filename2} 파일 열기 실패" ";
/////////////////////////// //////////////////// ///////////////////////////// /
------ ---출력 결과------------------------- -----------------
userinfo.txt 파일 열기 성공
---------------------- -------------------------- ----------- --
2. 파일을 사용한 후에는 해당 파일이 사용되었음을 PHP에 명시적으로 알려야 하며 파일의 모든 내용이 버퍼에서 하드 디스크로 올바르게 플러시되었는지 확인해야 합니다.
fclose 사용 () 파일을 닫으려면
bool fclose(리소스 핸들)//열린 파일 포인터를 닫습니다
3. 파일 읽기, fopen 함수의 모드 매개변수는 읽기를 허용합니다. files
string fgets(int handler [, int length])는 파일 포인터에서 한 줄을 읽습니다. 바이너리 파일에서 fgets를 시도하면 예측할 수 없는 결과가 발생합니다
길이를 지정하지 않으면 기본적으로 1K 데이터를 읽습니다. , 개행 문자(반환 값에 포함됨), EOF 또는 길이 - 1바이트를 읽은 후 중지됩니다.
string fgetss ( 리소스 핸들 [, int length [, string allowed_tags]] )는 한 줄을 읽습니다. 파일 포인터에서 HTML 태그를 필터링합니다.
fgetc()는 단일 문자를 읽습니다.
fread()는 임의의 이진 데이터를 읽습니다.
/ ////////////////// ////////////코드 부분/////////////////////////////////// /////
$handle = fopen ("test.jpg", "rb");
$c
while (!feof($handle)) {
$contents . = @fread($handle, 8192);//읽기를 반복하고 큰 파일로 병합
}
fclose($handle)
//////////// //////////////////////////////////////////////// ///////////////
---------------------------- -출력 결과--- -----------
------ ------ ------------------ ------ ---------
4. 파일 읽기 상태 확인
각 파일 핸들에는 파일 포인터 또는 발생하는 커서에 대한 다음 작업이 파일의 위치를 나타내는 포인터가 있습니다. , fopen 함수의 모드 매개변수
에 따라 파일 포인터는 처음에 파일의 시작 부분(0)에 위치하거나 파일의 끝 부분에 위치합니다.
feof()는 파일이 도달했는지 여부를 확인할 수 있습니다. 끝 (끝에 도달한 후 TRUE를 반환하는 함수)
filesize() 함수는 파일의 크기를 반환합니다. 5. 파일 쓰기
fwrite() 함수는 파일 쓰기를 실행합니다
////// /////////////// ///////코드 부분////////////////////////// ///////////////
$filename = 'test.txt';
$somec
// 먼저 파일이 존재하는지 확인해야 합니다. 쓰기 가능합니다.
if (is_writable($filename)) {
// 이 예에서는 추가 모드를 사용하여 $filename을 엽니다.
// 따라서 파일 포인터는 파일의 시작 부분에 있습니다.
// fwrite()를 사용할 때 $somecontent가 기록되는 곳입니다.
if (!$handle = fopen($filename, 'a')) {
echo "$filename 파일을 열 수 없습니다."
exit
}
//$somecontent 쓰기 우리가 연 파일.
if (fwrite($handle, $somecontent) === FALSE) {
echo "$filename 파일에 쓸 수 없습니다.";
exit
}
echo "$somecontent가 성공했습니다. $filename 파일에 기록됨";
fclose($handle);
} else {
}
echo "$filename 파일에 쓸 수 없습니다.";
////// // ///////////////////////////////////////////////// // ///////////////////
------------출력 결과 ------ ---------------------
이 텍스트를 파일에 성공적으로 추가했습니다. test .txt
------------------------- 파일에 썼습니다. ---------- -------------
바이너리 데이터의 경우 세 번째 매개변수를 지정해야 하며, 디스크에 기록된 데이터 바이트 수를 포함합니다.
$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'))
파일 권한 및 기타 정보
읽을 수 있습니다. ()//파일 읽기 가능 여부 판단
is_writeable()//파일 쓰기 가능 여부 판단
is_writable()//파일 쓰기 가능 여부 판단
fileperms()//권한 판단 파일 (UNIX 스타일의 파일 권한 테스트 기능)
file_exists( )//이 파일이 존재하는지 여부
fileowner()//파일이 속한 사용자 확인
filegroup()//그룹 확인 해당 파일이 속한
7. 파일 삭제 및 이름 바꾸기
unlink()//파일 삭제
rename()//파일 이름 바꾸기
8. 디렉토리 접근
을 사용하는 것이 좋습니다. Windows 및 Unix 시스템과 호환되는 디렉터리 액세스용 슬래시 "/"
basename()//반환에는 경로 정보의 파일 이름이 포함되지 않습니다.
dirname()//파일 이름의 디렉터리 부분을 반환합니다
realpath()//상대 경로를 받아들이고 파일의 절대 경로를 반환
pathinfo()//주어진 경로 이름, 기본 파일 이름 및 확장자의 디렉터리를 추출합니다
opendir()//디렉토리 열기 그리고 리소스 핸들을 반환합니다
readdir()//디렉터리 항목 읽기
rewinddir()//읽기 포인터를 시작 부분으로 반환
closeir()//읽기 핸들 닫기
chdir() //현재 스크립트 실행 중 현재 작업 디렉토리 변경
mkdir()//디렉토리 생성
rmdir()디렉토리 삭제
/// ////////// ////////////////코드 부분//////////////////////// //////// /////////
///////////////////////////////////// //////////////////////////////////////
--- ---- --------------출력 결과---------- ---------
파일 이름: 웹 : 파일 유형: dir
파일 이름: 연구: 파일 유형: dir
위 내용은 PHP 프로그래밍 습관을 포함하여 PHP 프로그래밍 습관과 8가지 일반적인 파일 작업 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...
