>> Delete No. 2748 article
No. [PHP] 조금 빠른 dio_open(), mb_strcut() 함수

등록 2002-08-11 01:00:00     조회 4
이름 산이    

		이곳 게시판에 관련 내용이 없어서
적습니다.
 [PHP] 조금 빠른 dio_open(), mb_strcut() 함수
  1. Direct IO functions
 http://www.php.net/manual/en/function.dio-open.php  dio_open() 관련 함수를 사용하려면 PHP를 컴파일할 때
,    --enable-dio
  or
  --enable-dio=shared
 옵션을 주고 컴파일해야 합니다.
 이 함수는 PHP/4.2.0 부터 추가되었군요..
 실제로 fopen(), fread(), fgets() 함수와 수행속도를
비교해 봤는데 약간(거의 무시할 정도로) 빠르더군요...
 -- 사용예(4.2.0 이상시) -------------
function get_file($file)
{
  if($fp = dio_open($file,O_RDONLY)) {
    $content = dio_read($fp,filesize($file));
    dio_close($fp);
  }
  return $content;
}
 function put_file($file, $content)
{
  if($fp = dio_open($file,O_WRONLY)) {
    $bytes = dio_write($fp,$content);
    dio_close($fp);
  }
  return $bytes;
}
------------------------------------
 resource dio_open ( string filename, int flags [, int mode])
 flags :
O_RDONLY - 읽기 모드
O_WRONLY - 쓰기 모드
O_RDWR - 읽기와 쓰기 모드
O_CREAT - 파일이 존재하지 않으면 파일 생성
O_EXCL - O_CREAT와 O_EXCL이 설정되면 dio_open()은 fails
O_TRUNC - 파일이 존재하면 쓰기 모드, 파일 크기는 zero(0)
O_APPEND - 파일에 내용 추가하기
O_NONBLOCK - non blocking 모드 설정
  2. Multi-Byte String Functions
 http://www.php.net/manual/en/ref.mbstring.php  mb_strcut(), mb_substr() 함수를 사용하려면,
   --enable-mbstring (또는 --enable-mbstring=shared)
  --enable-mbstr-enc-trans (옵션)
  --enable-mbregex (옵션)
 옵션을 주고 컴파일해야 합니다.
 mb_substr()와 mb_strcut()함수는 동일합니다.
이 두개의 함수는 2 bytes 문자를 자를때 아주 유용하더군요..
이 함수를 사용하기 위해서는 PHP/4.0.6 이상이어야 합니다.
그외 mb_xxx() 다른 함수를 사용하려면 4.2.0 이상이어야 합니다.
 실제로 한글과 영문, 특수문자, 숫자가 조합된
문자를 순서대로 잘라봤는데 아주 아주 괜찮더군요...
속도도 비교적 빠르고.....
  예:
string mb_substr ( string str, int start [, int length [, string
encoding]])
 -------------------------
$str = '한글dd나라.gksrmskfk.한.38@$%d';
for($i=1; $i<=mb_strlen($str); $i++) {
  echo mb_substr($str,0,$i);
  echo '<BR>'."";
}
-------------------------
 조금이나 도움이 되었으면 합니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved