본문으로 이동

큰숲백과 미디어위키 1.43 및 업데이트 완료되었습니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 데이터베이스 덤프 받고싶으신 분은 큰숲백과 가입 후에 사용자토론:Bigforest에 의견 남겨주시면 ftp 주소, 계정, 비밀번호를 특수:EmailUser를 통해서 공개할 예정입니다.

작은숲:위키노트/PHP/사용법

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
Utolee90 (토론 | 기여)님의 2017년 3월 13일 (월) 18:14 판 (Utolee90님이 위키노트:PHP 문서를 PHP/사용법 문서로 이동했습니다: 문서 내용 통합 준비)

강력한 스크립트 언어! 가벼운 웹 프로그래밍을 하기에 적합한 언어이다.

자주 쓰는 함수

<?php
bool in_array(mixed $needle, array $haystack [, bool $strict = FALSE ]);
mixed strpos(string $haystack, mixed $needle [, int $offset = 0 ]);
bool mkdir(string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context]]]);
?>

PHP 프레임워크, Laravel

라라벨(Laravel). 2015년 11월 14일에 나온 XE 3.0에서 쓰기 시작한 PHP 프레임워크. Laravel을 설치하기 위해서는 PHP 5.3.7 이상의 버전과 MCrypt PHP Extension이 필요하다.

PHP DOM 파서, Goutte

Goutte(구뜨, 프랑스어, 물방울). Simple HTML DOM Parser의 거동이 약간 불안정하고, 복잡한 태그의 경우 정확히 해석하지 못하는 점이 있다. 실행 속도도 빠르고, 메모리도 적게 먹고, 태그 분석도 정확하게 하는가 보다. 다만 사용법이 좀 까다로운 듯. via 표준국어대사전 사전 데이터 만들기 작업후기

PHP 활용

서버 로드 확인

<?php
$load = @exec("/usr/bin/uptime");
if ($load and preg_match("/load average: ([,\.\d\s]+)$/", $load, $matches))
    $load = $matches[1];
else
    $load = null;
if ($load) echo "<br />\nLoad average: {$load}\n";
?>

아파치에서 PHP가 구동되지 않을 때

아파치 httpd.conf 설정 파일에 아래 내용 추가.

AddType application/x-httpd-php .php .html .htm .php3 .php5

timezone 설정하기

최근 버전의 PHP에서는 timezone이 설정되지 않으면 아래와 같은 오류를 뿜어낸다.

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in index.php on line 138

이를 해결하기 위해 소스 상단에 아래 코드를 넣거나

<?php
date_default_timezone_set('Asia/Seoul');
?>

php.ini 파일에 timezone 설정을 추가한다.

date.timezone = Asia/Seoul

via PHP timezone 설정하기

배열이나 객체를 문자열로 만든 후 gzip 함수로 압축

<?php
$array = array( ... );
$str_array = base64_encode(gzdeflate(serialize($array)));
print_r($str_array);
$array = unserialize(gzinflate(base64_decode($array_str)));
print_r($array);
?>

위에서 gzinflate() 함수의 두번째 인자로 9 정도 주면 압축률은 더 좋아지지만 리소스를 많이 잡아먹고 압축률이 낮을 때보다 시간이 더 오래 걸린다. via PHP에서 array를 string 형태로 고효율 압축, 변환하기

운영체제가 윈도우인지 확인하기

<?php
function is_windows() {
    return (DIRECTORY_SEPARATOR == '\\' ? true : false);
}?>

via tempnam() 함수 레퍼런스

MSSQL의 datetime 형식의 필드 값 가져오기

PHP에서 MSSQL의 datetime 형식의 필드의 값을 가져오면 Mar 03 2014 11:04AM와 같은 형태로 출력한다. 이를 2014-03-03 11:04:19 형태로 출력하고자 할 때는 php.ini 파일을 수정하거나 ini_set() 함수를 써서 설정을 변경해주도록 하자.

<?php
// mssql datetime format
// Off - 2010-02-16 09:14:00
ini_set('mssql.datetimeconvert', 'Off');
?>

하위 디렉토리까지 한꺼번에 만들기

<?php
mkidr("/home/serv/archives/2014/0320", 0755, true);
?>

같이 보기

참고