PHP에서 임시 파일 작업 방법

2751 단어 php임시 문서

PHP의 기본 임시 생성 파일 디렉토리 가져오기


Linux 운영체제를 배운 사람들은 디렉터리가/tmp 디렉터리라는 것을 알 수 있다. (Windows에서는 일반적으로 C:\Windows\Temp\) 시스템의 임시 파일을 저장하는 데 사용되기 때문에 이 디렉터리를 임시 파일 디렉터리라고도 부른다.많은 소프트웨어들이 캐시, 임시로 생성된 스크립트 등을 포함하여 임시로 저장된 파일을 이 디렉터리에 넣을 것이다.PHP는 기본적으로 임시 파일 디렉터리를 이 디렉터리로 가리키며, 세션 파일과 같은 임시 파일은 여기에 저장됩니다.그것은 php에 있을 수 있다.ini 파일에서sys_tmp_dir에서 설정합니다.
물론 동적으로 실행되는 PHP 프로그램에서도 함수를 통해 현재 임시 파일 디렉터리를 얻을 수 있습니다.

print_r(sys_get_temp_dir());
// /tmp

임시 파일 만들기


임시 파일 디렉터리가 있는 이상 PHP는 당연히 우리를 위해 직접 임시 파일을 만드는 함수를 준비할 수 있다.

$tmpFile = tmpfile();
fwrite($tmpFile, "I'm tmp file.");
// ll /tmp
// vim phpbnAjbE

sleep(10);

fclose($tmpFile);
// ll /tmp
tmpfile () 함수는 이 임시 파일을 만드는 데 사용됩니다. 파일 이름을 지정할 필요도, 경로를 지정할 필요도 없습니다. 또한 w+ 형식의 파일, 즉 읽기와 쓰기가 가능한 파일입니다.fclose () 를 호출할 때, 이 임시 파일은 자동으로 삭제됩니다.이 함수를 사용하여 만든 파일은 스크립트 실행이 끝난 후에도 자동으로 삭제된다고 설명되어 있지만, 테스트 후 스크립트가 끝날 때 파일은 삭제되지 않습니다.
함수를 호출하고 내용을 쓴 후, 우리는 10초 동안 멈추었다.사실은/tmp 디렉터리에 가서 이 파일이 성공적으로 생성되었는지 확인하기 위해서입니다.파일이 생성된 시간에 따라 이 대응하는 파일을 찾았습니다.그리고 10초 후에 fclose () 를 실행한 후에 다시 디렉터리에 가서 보면 파일이 자동으로 삭제된 것을 발견할 수 있습니다.

디렉터리 상태에 따라 유일한 이름의 임시 파일 만들기


마지막으로 PHP는 우리에게 매우 인성화된 임시 파일을 만드는 함수를 제공했다.

$tmpFile = tempnam('/Users/zhangyue/MyDoc/ /dev-blog/php/202006/source', 'testtmp');
$f = fopen($tmpFile, "w");
fwrite($f, "I'm tmp file.");
// ll /tmp
// vim testtmpH7bptZ

// etc 
$tmpFile = tempnam('/etc', 'testtmp');
$f = fopen($tmpFile, "w");
fwrite($f, "I'm tmp file.");
// ll /etc
// ll /tmp
// vim testtmpTUNucM
tempnam () 함수는 디렉터리의 상태에 따라 유일한 이름의 임시 파일을 생성합니다.디렉터리 상태에 따라 뭐라고 하나요?위의 코드 주석에서 보듯이 두 번째 단락의/etc 디렉터리는 일반적으로 루트 권한의 디렉터리입니다. 루트 계정 권한이 없으면 수정 파일을 만들 수 없습니다.권한이 없는 디렉터리나 근본적으로 존재하지 않는 디렉터리라면tempnam () 함수는 임시 파일 디렉터리에 파일을 생성합니다.만약 디렉터리가 정상적으로 존재하고 쓸 수 있다면, 첫 번째 코드와 같이, 파일은 이 디렉터리에서 정상적으로 생성될 것이다.
tempnam () 함수의 두 번째 매개 변수는 파일 이름을 만드는 접두사를 지정합니다.tmpfile () 함수는 파일 이름을 지정할 수 없습니다. 이 함수는 파일 이름에 고정된 접두사를 주고 접두사가 자동으로 생성되는 파일 이름 부분이 유일하다는 것을 보장합니다.

총결산


이 몇 가지 매우 재미있는 함수를 발견했다. 임시 캐시로 하든 일부 파일을 만들든 이 두 임시 파일을 조작하는 함수는 모두 매우 유용하다.앞으로의 개발에서 우리는 이런 함수를 많이 사용해 볼 수 있다. 아마도 그것들은 우리에게 적지 않은 생산력 향상을 가져다 줄 것이다.
테스트 코드:
github.com/zhangyue050…
다음은 PHP에서 임시 파일을 조작하는 방법에 대한 상세한 내용입니다. PHP 임시 파일을 조작하는 방법에 대한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!

좋은 웹페이지 즐겨찾기