language:php:php-codes [KIEUN's Wiki 문기은 위키]

사용자 도구

사이트 도구


language:php:php-codes

코드 정리

리턴값을 레퍼런스로 리턴

public function &argsArray()
{
  static $flags = Array();
  return $this->flags;
}

프로그램 시작시 설정하는 폴더 위치 값

<?php
 
// 테스트 웹 서버가 iis7 이고
// http://127.0.0.1/ppp/z/ 가 웹 주소이고
// c:\inetpub\wwwroot\ppp\z 가 설치 위치인 경우 (c:\inetpub\wwwroot : 웹서버 문서 루트 폴더)
 
if( !defined('MYDOC_ROOT') ) { define( 'MYDOC_ROOT', dirname(__FILE__) ); } 
if( !defined('MYSITE_DIR') ) { define( 'MYSITE_DIR', dirname($_SERVER['PHP_SELF']) ); }
if( !defined('MYWWW_ROOT') ) { define( 'MYWWW_ROOT', 'http://'.$_SERVER['SERVER_NAME'].MYSITE_DIR ); }
 
echo MYDOC_ROOT . '</br>'; // c:\inetpub\wwwroot\ppp\z
echo MYSITE_DIR . '</br>'; // /ppp/z
echo MYWWW_ROOT . '</br>'; // http://127.0.0.1/ppp/z
?>

커맨드 라인

// 커맨드 라인으로 넘어온 파라미터의 개수 $argc
var_dump($argc);
// 커맨드 라인으로 넘어온 파라미터들 $argv
var_dump($argv);

커맨드 라인 : 파라미터 해석

가변 파라미터 함수

기본

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Second argument is: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
    }
}
 
foo(1, 2, 3);
?>

활용

//test.php
<?php
function foo() {
    include './fga.inc';
}
 
foo('First arg', 'Second arg');
?>
 
//fga.inc
<?php
$args = func_get_args();
var_export($args);
?>

압축과 인코딩

$sampleXmlString2 = 'help me';
//$gzEncodeData = gzcompress($sampleXmlString, 9);
$gzEncodeData = gzencode($sampleXmlString, 9);
echo '\n' . bin2hex($gzEncodeData) . '\n';
//$gzDecodeData = gzuncompress($sampleXmlString, 9);
$gzDecodeData = gzdecode( $gzEncodeData );
 
echo '\n' . $gzDecodeData . '\n';

xml 자료 처리

// 샘플 xml
$sampleXmlString = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<aracomm pktversion="1">
	<header>
		<packet index="1" subindex="333"/>
		<desc>login</desc>
	</header>
<data direction="send">
	<var name="id" value="testMyIdIsXXXX" />
	<var name="pw" value="passwordpassword" />
</data>
</aracomm>
XML;
// 메모리에서 바로 읽어들이기
$xmlObj = simplexml_load_string($sampleXmlString);
// Basic SimpleXML usage (여기)
 
// 여러가지 데이터 읽어보기
$xmlObj = simplexml_load_string($sampleXmlString);
print_r( $xmlObj ); // xml 전부 덤프
 
//$arrXml = objectsIntoArray($xmlObj);
print_r( $xmlObj['pktversion'] );
print_r( $xmlObj->header->packet['index'] );
 
echo 'packet index ' . $xmlObj->header->packet['index'];
 
print_r( $xmlObj->data->var['value'] );
print_r( $xmlObj->data->var['value'] );

편의 함수 정리

  • bin2hex : 바이너리를 hex 코드로
  • var_dump(<변수>) : 변수의 값을 그대로 덤프!
language/php/php-codes.txt · 마지막으로 수정됨: 2013/08/06 17:56 저자 kieuns