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;
}
?>