유용한 함수 - serialize

안녕하세요 유창화입니다.

가끔 유용한 함수 하나씩 올려볼까 합니다.
물론, 아시는 분들은 많으리라고 예상합니다.

하지만, 모르시는 분들을 위해 가끔씩 올려보도록 하겟습니다.

serialize -> 인자로 받은 변수를 일렬화된 문자로 반환 합니다.

그러니까

$a = Array();
$a['title'] = '아름다운 우리나라';
$a['content'] = '어쩌구 저쩌구......';
이런 배열이 있다고 가정할 때

$b = serialize($a);// a:2:{s:5:"title";s:17:"아름다운 우리나라";s:7:"content";s:19:"어쩌구 저쩌구......";} 
serialize 를 사용하여 다른 변수에 저장할수 있습니다.

반대로 unserialize 를 사용하면 원래의 변수를 받을수 있습니다.

$a = unserialize($b);

저는 이것을 주로
간단하게 파일 캐쉬 작업을 할때 주로 사용하는데요
데이타베이스는 사용하지 않고 파일로서만 특정데이타를 저장하고 반환하고자 할때 주로 많이 사용합니다.

$save_file = 'a.txt';
if (!is_file($save_file) || filemtime($save_file) + 3600 < time()) {

    $a = Array();
    $a['title'] = '아름다운 우리나라';
    $a['content'] = '어쩌구 저쩌구......';

    $b = serialize($a);
    file_put_contents($save_file, $b);
}
else {
    
    $save_text = file_get_contents($save_file);
    $a = unserialize($b);
}




|

댓글 6개

앗 여긴 추천이 없구나.....
다른데 써야 겟네요.
팁에 올려주세요. 추천 1 대기요.
전 DB캐쉬할때

if($_SESSION['sample_cache'] == ''){
//쿼리문 생략
$res = mysql_fetch_array(mysql_query($sql));
$_SESSION['sample_cache'] = json_encode($res);
}
else{
$res = get_object_vars(json_decode($_SESSION['business_count']));
}

echo $res['sample_data'];
json이 object라서 get_object_vars 함수를 사용해야 하지만
공통 규격이라서 다른서버간 통신, 다른언어간 통신, 앱과 통신 할때 유용하더라구요.
오 좋은글 감사합니다...^ ^
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 2,412
14년 전 조회 1,564
14년 전 조회 1,352
14년 전 조회 1,705
14년 전 조회 2,998
14년 전 조회 2,419
14년 전 조회 2,269
14년 전 조회 3,709
14년 전 조회 2,805
14년 전 조회 1,761
14년 전 조회 1,828
14년 전 조회 1,790
14년 전 조회 1,899
14년 전 조회 1,362
14년 전 조회 1,684
14년 전 조회 1,813
14년 전 조회 3,377
14년 전 조회 1,681
14년 전 조회 1,433
14년 전 조회 1,420
14년 전 조회 3,776
14년 전 조회 1,543
14년 전 조회 2,248
14년 전 조회 2,280
14년 전 조회 1,478
14년 전 조회 2,156
14년 전 조회 1,566
14년 전 조회 1,684
14년 전 조회 2,621
14년 전 조회 2,346
14년 전 조회 2,962
14년 전 조회 1,662
14년 전 조회 1,553
14년 전 조회 2,940
14년 전 조회 1,570
14년 전 조회 1,699
14년 전 조회 2,821
14년 전 조회 1,814
14년 전 조회 1,742
14년 전 조회 1,468
14년 전 조회 1,708
14년 전 조회 2,739
14년 전 조회 1,313
14년 전 조회 3,279
14년 전 조회 1,624
14년 전 조회 1,344
14년 전 조회 1,335
14년 전 조회 1,597
14년 전 조회 1,510
14년 전 조회 1,418
14년 전 조회 1,915
14년 전 조회 1,336
14년 전 조회 1,968
14년 전 조회 2,352
14년 전 조회 1,326
14년 전 조회 1,470
14년 전 조회 1,302
14년 전 조회 1,476
14년 전 조회 1,898
14년 전 조회 1,594
14년 전 조회 1,714
14년 전 조회 1,515
14년 전 조회 1,699
14년 전 조회 1,266
14년 전 조회 2,133
14년 전 조회 1,471
14년 전 조회 2,223
14년 전 조회 8,967
14년 전 조회 1,562
14년 전 조회 2,402
14년 전 조회 2,145
14년 전 조회 2,393
14년 전 조회 2,768
14년 전 조회 1,355
14년 전 조회 1,495
14년 전 조회 7,285
14년 전 조회 1,459
14년 전 조회 1,388
14년 전 조회 2,575
14년 전 조회 1,448
14년 전 조회 1,446
14년 전 조회 2,913
14년 전 조회 1,517
14년 전 조회 4,433
14년 전 조회 4,562
14년 전 조회 1,904
14년 전 조회 1,468
14년 전 조회 2,145
14년 전 조회 1,425
14년 전 조회 1,727
14년 전 조회 1,312
14년 전 조회 8,216
14년 전 조회 1,857
14년 전 조회 1,249
14년 전 조회 1,407
14년 전 조회 2,114
14년 전 조회 1,547
14년 전 조회 1,421
14년 전 조회 1,506
14년 전 조회 1,415