string tempnam ( string $dir , string $prefix )
(PHP 4, PHP 5)

임시 디렉토리에 0600 권한으로 임의의 이름을 가진 파일을 반환하는 함수가 tempnam 함수입니다.

첫 번째 인자는 임시 파일이 만들어질 임시 디렉토리입니다. 지정한 디렉토리가 없거나 쓰기권한이 없다면, 서버 임시 디렉토리로 기본 지정됩니다.

<?php
 // tmpname 디렉토리가 존재하지 않기 때문에
 // 기본 임시 디렉토리에 파일이 생성됩니다.
 $tmpfname = tempnam("/tmpname", "test_");
 echo $tmpfname; // 결과: /tmp/test_oRIspu


 $tmpfname = tempnam("./uploads", "test_");
 echo $tmpfname; // 결과: C:/Server/html/uploads/test_Jb1IYF  
 ?>

<?php
 $tmpfname = tempnam("./uploads", "test_"); 
 $handle = fopen($tmpfname, "w");
           fwrite($handle, "writing to tempfile"); 
           fclose($handle); 

 /*
 결과:
 writing to tempfile
 */
 ?>

서버 임시 디렉토리 위치가 잘 모르겠으면, 다음 함수를 사용하여 알아올 수도 있습니다.

<?php
 echo sys_get_temp_dir(); // 결과: /tmp
 ?>

<?php  
 function tempnamsfx($path, $suffix) {  
    if((is_dir($path) === true) && (is_writable($path) === true)){ 
         $tmpname = $path; 
    } else { 
         $tmpname = sys_get_temp_dir(); 
    } 
    clearstatcache(); 

    $file = md5_file(tempnam($tmpname, $suffix)); 
    return $file;  
 }  

 $file = tempnamsfx("/tmp", "test");
 echo $file; // 결과: d41d8cd98f00b204e9800998ecf8427e
 ?>

0 댓글