PHP에서 Tempnam () 및 file_put_contents () 는 매우 일반적으로 사용되는 두 가지 기능입니다. 전자는 고유 한 임시 파일을 만드는 데 사용되는 반면 후자는 파일에 데이터를 쓸 수 있습니다. 이 두 기능은 많은 실제 프로젝트, 특히 데이터 저장 또는 처리를 위해 임시 파일을 작성 해야하는 시나리오에서 널리 사용됩니다.
이 기사는 실제 사례를 결합하여 파일 작업을보다 효율적으로 수행하기 위해이 두 기능을 사용하는 방법을 보여줍니다.
Tempnam () 함수는 고유 한 임시 파일 이름을 만드는 데 사용됩니다. 두 가지 매개 변수를받습니다.
디렉토리 : 임시 파일이 저장되는 디렉토리, 일반적으로 시스템 기본 임시 디렉토리.
접두사 : Filename Prefix, 임시 파일의 이름을 식별하는 데 사용됩니다.
Tempnam () 함수의 반환 값은 생성 된 임시 파일 이름이지만 파일 자체는 생성되지 않습니다. 즉, 다른 함수 ( fopen () , file_put_contents () 등과 같은 다른 함수를 통해 파일을 작성하고 컨텐츠를 작성해야합니다.
샘플 코드 :
<span><span><span class="hljs-variable">$tempFile</span></span><span> = </span><span><span class="hljs-title function_ invoke__">tempnam</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sys_get_temp_dir</span></span><span>(), </span><span><span class="hljs-string">'tmp_'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$tempFile</span></span><span>; </span><span><span class="hljs-comment">// 임시 파일을 출력하는 전체 경로</span></span><span>
</span></span>이 예에서 Sys_get_temp_dir () 함수는 현재 운영 체제의 임시 디렉토리를 반환합니다. tmp_ 는 파일 이름의 접두사이며 생성 된 파일 이름은 /tmp /tmp_rz6v28 과 유사 할 수 있습니다.
file_put_contents () 함수는 파일에 데이터를 작성하는 데 사용되는 PHP의 함수입니다. 두 가지 매개 변수를받습니다.
Filename : 작성할 파일 이름입니다.
데이터 : 작성할 데이터 컨텐츠.
파일이 존재하지 않으면 file_put_contents ()는 파일을 자동으로 작성합니다. 파일이 이미 존재하면 파일 내용이 덮어 씁니다.
샘플 코드 :
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'example.txt'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">'Hello, world!'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>);
</span></span>이 예에서는 데이터 안녕하세요, World! example.txt 파일에 기록됩니다. 파일이 이미 존재하면 원래 콘텐츠가 덮어 씁니다.
Tempnam () 및 file_put_contents ()를 결합하기위한 일반적인 시나리오는 다음과 같습니다. 먼저 Tempnam ()을 통해 고유 한 임시 파일 이름을 작성한 다음 file_put_contents () 를 통해 임시 파일에 데이터를 씁니다. 이 접근법은 임시 데이터 저장에 이상적이거나 단기 저장이 필요한 파일을 처리 할 때 이상적입니다.
캐시가 만료 될 때까지 캐시 된 데이터를 임시 파일에 저장 해야하는 캐시 시스템이 있다고 가정합니다. Tempnam ()을 사용하여 고유 한 임시 파일 이름을 만들고 file_put_contents ()를 통해 캐시 된 데이터를 파일에 저장할 수 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Step 1: 통과하다 tempnam() 임시 파일을 만듭니다</span></span><span>
</span><span><span class="hljs-variable">$tempFile</span></span><span> = </span><span><span class="hljs-title function_ invoke__">tempnam</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sys_get_temp_dir</span></span><span>(), </span><span><span class="hljs-string">'cache_'</span></span><span>);
</span><span><span class="hljs-comment">// Step 2: 캐시 된 데이터를 시뮬레이션합니다</span></span><span>
</span><span><span class="hljs-variable">$cacheData</span></span><span> = [
</span><span><span class="hljs-string">'username'</span></span><span> => </span><span><span class="hljs-string">'JohnDoe'</span></span><span>,
</span><span><span class="hljs-string">'email'</span></span><span> => </span><span><span class="hljs-string">'[email protected]'</span></span><span>,
</span><span><span class="hljs-string">'last_login'</span></span><span> => </span><span><span class="hljs-title function_ invoke__">time</span></span><span>()
];
</span><span><span class="hljs-comment">// Step 3: 사용 file_put_contents() 캐시 된 데이터를 임시 파일에 작성하십시오</span></span><span>
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$tempFile</span></span><span>, </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>(</span><span><span class="hljs-variable">$cacheData</span></span><span>));
</span><span><span class="hljs-comment">// 출력 임시 파일의 경로</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"캐시 된 데이터는 임시 파일로 저장되었습니다.:<span class="hljs-subst">$tempFile</span></span></span><span>";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>임시 파일 생성 : tempnam ()은 cache_ 로 접두사가있는 임시 파일 이름을 만듭니다. 이 파일은 시스템의 임시 디렉토리에 저장됩니다.
캐시 된 데이터 생성 : 간단한 배열을 통해 캐시 된 데이터를 시뮬레이션 한 다음 JSON 형식으로 변환합니다.
임시 파일에 쓰기 : file_put_contents ()를 사용하여 캐시 된 데이터를 JSON 형식으로 임시 파일에 씁니다.
임시 파일은 일반적으로 데이터를 일시적으로 저장하는 데 사용되므로 사용 후 시간에 이러한 파일을 정리해야합니다. PHP에서 파일 삭제는 매우 간단합니다. Unlink () 함수 만 사용하십시오.
<span><span><span class="hljs-comment">// 임시 파일을 삭제합니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">unlink</span></span><span>(</span><span><span class="hljs-variable">$tempFile</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"임시 파일이 삭제되었습니다。"</span></span><span>;
</span></span>이를 통해 불필요한 디스크 공간이 점유되지 않도록합니다.
Tempnam () 및 file_put_contents ()를 결합하면 임시 파일을 작성하고 이러한 파일에 데이터를 작성하는 기능을 실현할 수 있습니다. 이 방법은 캐시, 임시 데이터 스토리지 등과 같은 시나리오를 처리 할 때 매우 유용합니다. Tempnam ()을 사용하여 고유 한 임시 파일 이름을 생성하면 파일 이름 충돌을 피할 수 있습니다. file_put_contents () 는 데이터를 간단하고 직접적으로 만듭니다. 임시 파일의 경우 너무 많은 리소스를 소비하지 않도록 사용 후 시간에 따라 청소하십시오.
이러한 팁을 통해 임시 파일 및 데이터 저장소를보다 효율적으로 관리하여 PHP 개발의 유연성과 보안을 향상시킬 수 있습니다.