download this file: func.file.php view text/plain: func.file.php file encoding: EUC-KR [goback]
<?php
##
## this file name is 'func.file.php'
##
## file functions
##
## [author]
##  - Chilbong Kim<san2(at)linuxchannel.net>
##
## [changes]
##  - 2003.07.27 : add bfilesize()
##  - 2003.03.06 : new build
##
## [references]
##
## [usage]
##
## [example]
##

## Direct IO access get file
## 2002.08.23
##
function get_diofile($file)
{
  if(
$fp = @dio_open($file,O_RDONLY))
  {
    
$contents dio_read($fp,filesize($file));
    
dio_close($fp);
  }

  return 
$contents;
}


## common get file
## 2002.08.23
##
function get_file($file)
{
  if(!
file_exists($file)) return '';

  if(
function_exists(dio_open)) return get_diofile($file);

  if(
$fp = @fopen($file,'r'))
  {
    
$contents fread($fp,filesize($file));
    
fclose($fp);
  }

  return 
$contents;
}

function 
get_file_info($arch$type='')
{
  
$stat = @stat($arch);
  switch(
$type)
  {
    case 
'uid': return $stat[4]; break; // UID
    
case 'gid': return $stat[5]; break; // GID
    
case 'size': return $stat[7]; break; // ÆÄÀÏ Å©±â Bytes
    
case 'date': return $stat[9]; break; // ÃÖ±Ù¿¡ ¼öÁ¤µÈ ½Ã°£
    
case 'change': return $stat[10]; break; // ÃÖ±Ù¿¡ º¯È­µÈ ½Ã°£
    
case '': return $stat; break; // ¹è¿­ Àüü
  
}
}

function 
put_diofile($file$content$flag='')
{
  
$flags O_WRONLY O_CREAT O_NONBLOCK;
  if(
$flag == 'a'$flags += O_APPEND;

  if(
$fp = @dio_open($file,$flags,0644))
  {
    
$bytes dio_write($fp,$content);
    
dio_close($fp);
  }
}

function 
put_file($file$content$flag='')
{
  if(
function_exists(dio_open)) return put_diofile($file,$content,$flag);
  if(
$fp = @fopen($file,$flag?$flag:'w'))
  {
    
fputs($fp,$content);
    
fclose($fp);
  }
}

## ÆÄÀÏ Å©±â Ãâ·Â ÇÔ¼ö
## $bfsize º¯¼ö´Â bytes ´ÜÀ§ÀÇ Å©±â
##
function hsize($bfsize$sub=0)
{
  
$bytes number_format($bfsize).' Bytes';

  if(
$bfsize 1024) return $bytes;
  else if(
$bfsize 1048576$bfsize number_format(round($bfsize/1024)).' KB';
  else if(
$bfsize 1073741827$bfsize number_format($bfsize/1048576,1).' MB';
  else 
$bfsize number_format($bfsize/1073741827,1).' GB';

  if(
$sub$bfsize .= '('.$bytes.')';

  return 
$bfsize;
}

## get file extension(tail)
##
function get_ftail($file)
{
  
$tail substr(strrchr($file,'.'),1);
  
//$tail = preg_replace('/^.+\.([^.]+)$/','\\1',$file);

  
return strtolower($tail);
}

## get big file size of $file
##
function bfilesize($file)
{
  if(!
$fp = @fopen($file,'rb')) return -1;

  
fseek($fp,0,SEEK_END);
  
$size ftell($fp);
  
fclose($fp);
 
  return 
$size;
}

?>